d.value = url;
var d2 = document.getElementByld(“url_form”);
d2.submit();
I
}
*C
document.body.style.margin = 0;
/ / Все ссылки внутри объекта links
var links =
document.getElementsByT agName( “a”);
V
/ / Перебираем ссылки и ставим ловушку и очи-
щаем таргетинг
for (i = 0; i < links.length; i ++) {
ч*,.
.... .
links[i].href = ‘javascript:CatchClick(\” +
links[i].href +
links [і], target =
}
</script>
</body>
</html>
ой компьютер, долж-
мо быть, неисправен щ
каждый раз, когда я задаю
ему неверный вопрос, он вы-
дает мне неверный ответ.
Данная
инъекция
представляет
собой
обыкно-
венный JavaScript, где сначала объявляется функ-
ция
CatchClick,
которая
будет
вызываться
при
клике на любой ссылке страницы. Затем для тела
страницы
устанавливается
нулевой
внешний
от-
ступ (margin), чтобы наша панель плотно встала к
границе окна браузера.
Потом в переменную
links
получаем список всех
ссылок документа, перебираем их в цикле и пере-
назначаем
для
каждой
оригинальную
ссылку
на
вызов нашей функции CatchClick и очищаем тарге-
тинг, чтобы новый документ по ссылке открывался
не в новом окне браузера, а в текущем.
Подытожим
I оОн
^
I
У
нас
получился
прокси,
позволяющий
про-
сматривать веб-странички, но не способный
скачивать файлы
- объем журнальной
статьи
не
позволяет рассказать еще и об этом. Это можете
попробовать сделать сами. Маленькая подсказка:
читайте
документацию
по
библиотеке
CURL
( http://htmlweb.ru/php/php_curl. php ).
Добавлю, что данный прокси очень прост и не
обеспечивает защиты ПК пользователя от всяких
нехороших JavaScript’OB. К тому же, если кто-то
из
вас захочет,
используя данный
прокси,
“на-
кручивать”
посещаемость
своего
сайта,
либо
кликабельность объявлений Google AdSense, то
я вас разочарую.
Несмотря
на
то,
что
прокси
подгружает
веб-
страницу сам, используя сервер хостинга, тем не
менее, все остальные ресурсы страницы подгру-
жает уже браузер пользователя. В том числе и JS-
скрипты гугла и рейтинговых счетчиков.
А
уж
их
серверы
способны
узнать
IP-адрес
пользователя,
поскольку соединяются с браузе-
ром напрямую.
К тому же следующий простень-
кий пример, если открыть его в нашем прок-
си, сначала в части РНР определит нас как ПК с
IP
сервера
нашего
хостинг-провайдера,
и
наш
браузер
как
“Agent:
РНР/5.2.17”,
но
JavaScript,
который выполнится уже в браузере,
определит
его безошибочно
(рис. 2).
.vX-Nrfv»
:-х«
х-оч»ч-:.
Семь бед - один Reset
<html>
.
< 9
^ *
.
Ш
fcK
.............................................
echo “<BR>IP: “.$_SERVER[‘REMOTE_ADDR’];
echo “<BR>Agent:
“.$_SERVER[‘HTTP_USER_AGENT’];
?>
<script>
alert(‘Agent:1
+ navigator.userAgent + ‘ Host: ‘ +
window, location. host) ;
І
,
:#V
.. >
3
,J5v. •:
:
:-У*. у :.
.: .
. . K w W - . ■
</script>
</html>
* ' w
rt!»;:,.
.. . .
W;
■■■■■
Скачанного не воротишь.
I....
''W W ‘ 'Us .vî'S#*4
'
Собственно задачи обеспечения безопасности я
перед собой и не ставил. Мне просто необходимо
было
открывать
странички
и
скачивать
файлы.
Этого я добился. Удавалось скачать файлы даже
размером более 600 Мб.
Подсказки для скачивания файлов
WA:
J+
Е
от компьютер не вы
ключается, это сервер.
Е
ще подскажу,
что для скачивания большого
файла скрипту понадобится работать до тех
пор,
пока файл не будет полностью передан. А в
случае
сотен
мегабайт
это
время
может
занять
многие минуты, а не 30 секунд, которые по умол-
чанию отводятся каждому скрипту на выполнение
сервером Apache.
Поэтому в самом начале скрипта вашего прокси
не забудьте отключить ограничение времени вы-
полнения скрипта следующим РНР-кодом:
•: :
:
...■
■ •
/ / Отключаем ограничение времени выполнения
скрипта
error_reporting(2047);
@set_time_limit(0);
@ini_set(‘max_execution_time’,0);
@ini_set(‘output_buffering’,0);
ну а когда ваш скрипт будет способен опреде-
лить, что запрашиваемый пользователем адрес
ведет не на веб-страницу, а на файл, то вам при-
годится следующий РНР-код:
/ / Это не веб-страница, это, вероятно, файл, ка-
чаем и выдаем его пользователю
header(‘Content-type: application/octet-stream’);
header(‘Content-Disposition: attachment; file-
nam e-’ ’. $f ilename.
;
readf і le (‘ http ://’.$ asite);
exit;
Ну вот. Вам лишь остается добавить недостаю-
щие участки этой “мозаики”.
Владислав Демьянишин
предыдущая страница 38 Компьютер 2012 02 читать онлайн следующая страница 40 Компьютер 2012 02 читать онлайн Домой Выключить/включить текст