Здравствуйте. Помогите пожалуйста решить вот такой вопрос, есть вот такой апплет Код (Text): <applet code="post.class" name="post" archive="http://site.ru/se/javagea.jar" id="post" > <param name="posts" value="post"> <param name="URL" value="" > </applet> Мне нужно скрыть путь к _http://site.ru/se/javagea.jar т.е. сделать так Код (Text): <applet code="post.class" name="post" archive="http://site.ru/java.php" id="post" > <param name="posts" value="post"> <param name="URL" value="" > </applet> Чтобы _http://site.ru/java.php вел как раз на _http://site.ru/se/javagea.jar Буду признательна за помощь. Спасибо.
с какой целью? содержимое jar архива это все равно не поможет скрыть. но если хотите, самое примитивное решение - использовать mod-rewrite. также можно сделать пхп-скрипт java.php, примерно такого содержания: PHP: <?php $jar=file_get_contents('http://site.ru/se/javagea.jar'); header('Content-Type: application/octet-stream'); echo($jar)
Мне как раз бы скрыть содержание jar, подобный пхп-скрипт я пробовала, но как вы и сказали толку нет т.к. при открытии java.php открывается и весь код javagea.jar. Я просто не очень разбираюсь в подобных вопросах, может есть еще какой-то способ не показывать содержимое javagea.jar файла?
это впринципе не возможно. как иначе получит java-код сам браузер? что он будет выполнять? единственный мало-мальски действенный способ - обфускация (приведение исходного кода к сложно читаемому виду)
Спасибо, обфускацию попробую, и еще только что в голову пришло =) что jar, как по своей сути zip архив можно запаролить, т.е. он будет читаться, но вытащить из него содержимое все равно не получиться, что мне и нужно. Еще раз спасибо.
пожалуйста) с паролированием - плохая затея. jar - это действительно тот же самый zip, но если его запаролить, как опять же браузер получит содержимое архива? ему будет не добратья до java-классов. Честно говоря, даже не представляю, как браузер обработает такую ситуацию. Мой прогноз - выполнение апплета упадет с ошибкой ClassNotFoundException
Да идея не очень =) Можно еще узнать чисто для общего развития - К примеру на сайте http://www.flashplayer.ru/play_14492.php в коде страницы игра загружается так Код (Text): <iframe frameborder="0" scrolling="no" src="playgame.php?n=14492"></iframe> но перейдя по ссылке из фрейма http://www.flashplayer.ru/playgame.php?n=14492 Получаю только чистый лист. Каким образом в общих словах это реализовано. Спасибо.
рефер проверяется, вестимо легко проверить, если подредактировать код страницы прямо в опере например, и воткнуть туда ссылку на этот скрипт и нажать в браузере =)
Это я глянула, но куда ведет в итоге http://www.flashplayer.ru/playgame.php?n=14492 можно узнать? я только поняла что в некую папку game но на какой файл не понятно.
http://www.flashplayer.ru/playgame.php?n=14492 - этот скрипт вероятно лезет в базу, вытаскивает из нее запись с id=14492, извлекает информацию о расположении на сервере флэш-ролика, соответствующего этой игре, и генерирует html код с тегом OBJECT. этот хтмл код приезжает клиенту, встраивается в iframe и браузер создает объект с флэш-плеером и роликом, который приехал вместе с хтмл в одном из вложенных в OBJECT тегов PARAM
Мыслить что он ведет в какую-то папку - это надеяться, что случится мир во всем мире. У него может вобще не быть никаких папок. И даже самого файла playgame.php может не существовать =)
Это, кстати, прикольная идея, можно выдавать левый файл, в котором проверят рефера, но с другой стороны, это паранойя, ведь таблицы стилей всегда можно угнать или подобрать нужные соответствия
Еще немного вас помучаю =) узнать путь к игре в принципе тоже не проблема, к упомянутой выше путь идет как http://www.flashplayer.ru/games/flash/14492_40762.swf тоже думала что скорее всего из базы берут, но возможно просто по началу имени отбирают, но это не столь важно, вот что хочу уточнить К примеру есть file.php в котором я делаю запрос по типу Код (Text): $sql=$db->query("SELECT news_id, fileserver FROM f_files where news_id = '$newid'"); где нибудь ниже пишу что-то типа Код (Text): $path = "/home/site/public_html/site/files/"; $fil = stat($path.$row['fileserver']) ; header("Content-length: ".$fil[7]) ; header("\n") ; @readfile($path.$row['fileserver']) ; ну и т.д. Получается что-то вроде того - Запрос выводит имя файла для конкретного id, далее данный файл ищется в /home/site/public_html/site/files/ и выводиться, но вот в чем вопрос, если я открою этот file.php, то увижу код запрашиваемого файла из папки /home/site/public_html/site/files/, а у них при открытии http://www.flashplayer.ru/playgame.php?n=14492 пусто, может есть где-то готовый пример или может вы мне подскажите как браузер получает по этой ссылке нужную инфу, а при переходе на прямую там пусто? Как должна выводиться полученная на моем примере кода выше, ссылка, чтобы ее тоже не было видно при переходе,но видно браузеру =) или это что-то с .htaccess ковырять надо. Саму цепочку не могу понять, что за чем и как выводиться, да еще и так чтобы пути не было видно. Еще раз спасибо.
скорее всего он передает рефера или какую-то разовую куку. в чем вопрос? как реализовать подобный механизм у себя или как обойти этот? это два разных вопроса совершенно. =) т.е. совсем.