Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > проверка пришедшего адреса


Автор: Raily 30.3.2010, 09:40
У меня такой вопрос. Как можно сделать проверку - с какого адреса пользователь пришёл на мой php-скрипт?
проверяла массив $_SERVER, там не приходит переменная $_SERVER['HTTP_REFERER']
может есть ещё какой-нить способ? 
Пыталась сделать через REMOTE_ADDR, но он мне не подходит, т.к. мне нужно отсеять приход людей с "левых" скриптов, то есть HTTP_REFERER мне бы идеально подошёл, т.к. я бы забила массив тех скриптов, с которых приходить можно и сверяла - входит ли пришедший адрес в этот массив, а вот с ipшниками такого не сделать, т.к. все ip учесть в таком массиве нереально((

Автор: skyboy 30.3.2010, 10:22
Цитата(Raily @  30.3.2010,  08:40 Найти цитируемый пост)
может есть ещё какой-нить способ? 

нет. если не передается, то либо адрес был введен вручную/был переход по закладке браузера, либо firewall блокирует передачу этого заголовка(типа, повышение конфиденциальности).
Цитата(Raily @  30.3.2010,  08:40 Найти цитируемый пост)
Пыталась сделать через REMOTE_ADDR

это не IP сервера, со страницы которой перешли на тебя. Тут должен быть IP клиента или шлюза, который использует клиент

Автор: s0lman 30.3.2010, 10:23
Raily, HTTP_REFERER отсутствует, т.к., скорее всего, вы напрямую обратились к php-файлу. Попробуйте перейти на тестируемый файл с другого по ссылке.

Автор: Raily 30.3.2010, 11:07
Цитата(s0lman @ 30.3.2010,  10:23)
Raily, HTTP_REFERER отсутствует, т.к., скорее всего, вы напрямую обратились к php-файлу. Попробуйте перейти на тестируемый файл с другого по ссылке.

но тогда получается, что у кого-то также firewall может перекрыть HTTP_REFERER и мой сервер не узнает, откуда пришёл пользователь?

Автор: Sanchezzz 30.3.2010, 12:01
 smile это его работа смеритесь

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)