[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как проверить реферер ?
zeromind
Мне нужно отсортировать доступ к контенту по referer для определенных ресурсов, но как мы знаем не все браузеры отправляют этот хедер.. следовательно нужно проверять на пустоту его..
есть скрипт следующего содержания:

if(!preg_match("#site\.net#", $_SERVER['HTTP_REFERER']) && !preg_match("#site2\.net#", $_SERVER['HTTP_REFERER']))
{
if(!empty($_SERVER['HTTP_REFERER']))
file_put_contents(ROOT . 'log.log',date("m.d.y H:i:s") . ' --> ' . $_SERVER['HTTP_REFERER'] . "\r\n",FILE_APPEND);
}

пробывал проверять так:
if($_SERVER['HTTP_REFERER'] != NULL);

результат аналогичный(

Вот, что видно в лог файле:

12.05.12 11:56:32 --> http://kkinno.ru/publ/filmy_onlajn/smotret_solovej_razbojnik_2012_onlajn/2-1-0-7722
12.05.12 11:56:46 -->
12.05.12 11:57:14 -->
12.05.12 11:57:30 --> http://www.nevsmir.ru/serial/zarubegnyj-serial/873-velikolepnyy-vek-7677-serii-2012-smotret-onlayn.html


Как правильно проверить реферер на пустоту\существование.. empty() метод же должен делать сразу две эти вещи.. но как видно из лога реферер пустой все равно пишется. И кстате тут вместо регулярок вначале файла можно строчными функциями проверять содержание домена в строке.. как это менее затраным методом реализовать?
Hello
isset($_SERVER['HTTP_REFERER']);

Если браузер не передал, то в $_SERVER его не будет

_____________
VPS от 5$, первые 2 месяца - бесплатно.
zeromind
empty() должен проверять и на существование

нашел косяк у себя в коде:
if(!empty($_SERVER['HTTP_REFERER']));

; - стояла.. сейчас убрал - проверим
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.