2011-05-16 2 views

ответ

40

Использование HTTP_REFERER не достоверно, это зависит от заголовка HTTP Referer, посланного браузером или клиентским приложением на сервер и поэтому не может быть доверено.

Что касается Referer заголовка, раздела 15.1.2 of RFC2616 состояний:

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

и

Мы предлагаем, хотя не требуется, , что удобный интерфейс переключения быть предназначен для пользователя, чтобы включить или отключить отправку С и информации Referer.

Многие онлайн-инструменты защиты отменяют это значение, и многие браузеры, такие как FireFox, в течение длительного времени разрешают пользователям предотвращать отправку этого заголовка. Таким образом, в двух словах, я бы не стал полагаться на это с какой-либо серьезной целью. Например, защита форм, чтобы спам-серверы не могли публиковать значения, потому что Referer можно подделать.

Для дальнейшего чтения Престола:

Using referer field for authentication or authorization (WayBackMachine)

+0

Согласитесь реферер не является надежным, и это не безопасно, но поверьте мне, это делает свою работу очень хорошо в снижении спама. –

+0

Последняя ссылка мертва. – danrah

+1

@danrah - исправлено. Но если вы найдете мертвые ссылки, посмотрите и посмотрите, находятся ли они на WayBackMachine (http://archive.org), а затем просто обновите сообщение с помощью последней доступной архивной копии страницы. – Kev

Смежные вопросы