Подтвердить что ты не робот

Могу ли я полагаться на HTTP-заголовок Referer?

Можно ли полагаться на заголовок Referer HTTP в моем веб-приложении? Я хочу проверить, пришел ли пользователь с определенного домена/веб-страницы, и если он или она это сделал, измените расположение моего сайта соответственно.

Я знаю, что люди могут отключить Referer в своих браузерах. Любые идеи, как часто пользователи это делают? Могу ли я полагаться на Referer на 99%?

4b9b3361

Ответ 1

Как правило, вы не должны доверять заголовку HTTP-заголовка для любого важного вопроса, за исключением чисто информативного статистического анализа того, кто ваши посетители, или при поиске моделей поведения среди пользователей вашего собственного сайта.

Ни при каких обстоятельствах не рекомендуется использовать этот заголовок для AAA (аутентификация, авторизация и учет), если, как уже отмечалось выше, вы не учитываете учет простого анализа трафика поведения вашего посетителя.

OWASP (Open Web Application Security Project) рассматривает его как "Vulnerabilty", используя Заголовок референта для AAA в вашем веб-приложении.

Некоторые другие и более конкретные причины не доверять заголовку Referer Header, включают:

  • В общем случае, когда "связывание" с соединением HTTP ↔ HTTPS (TLS), большинство стандартных веб-браузеров не сообщают этот заголовок.

  • В целях конфиденциальности многие корпоративные прокси настроены на удаление/разделение этого заголовка, поэтому даже если веб-браузер отправляет этот заголовок, корпоративное прокси-программное обеспечение может удалить его.

  • В редких решениях безопасности вредоносные программы, браузеры, встроенные в приложения..., как известно, изменяют и/или обманывают содержимое этого заголовка.

Остерегайтесь, что:

  • Когда "связывание" с HTTPS на HTTPS, большинство стандартных веб-браузеров будут информировать этот заголовок даже при изменении имени домена или адреса сетевого адреса.

Ответ 2

Если у вас разумное поведение по умолчанию, когда нет полезного значения, и вы не делаете ничего чувствительного на его основе, возможно, это нормально.

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

Вероятно, также есть случаи, когда переключение между HTTPS и HTTP приведет к тому, что заголовок реферера не будет отправлен.