Задать вопрос

Можно ли доверять HTTP_REFERER (предварительно прочитайте вопрос)?

Конечно, его стоит фильтровать при получении, т.к. нет проблем подделать его при прямом участии злоумышленника (тот же самый telnet и т.д.), но мой вопрос не об этом. Есть статья «Подделка заголовков HTTP запроса с помощью Flash ActionScript» (www.securitylab.ru/analytics/271169.php), в которой показан наглядный пример подделки HTTP_REFERER прозрачно для пользователя в определенной версии броузера с включенным flash плеером. Собственно вопрос к специалистам, можно ли доверять данному заголовку для идентификации страницы — инициатора запроса с поправкой на то, что перед нами обычный пользователь. Может ли злоумышленник подделать запрос в современном броузере (броузеры чей процент на данный момент хотя бы выше 1 из общей посещаемости интернета). Или все таки лучше подписывать каждый подобный запрос?
  • Вопрос задан
  • 11685 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
hell0w0rd
@hell0w0rd
Просто разработчик
Конечно нет. Это то, что передает клиент.
Самый простой способ это проверить — одна из опций curl:
-e, --referer Referer URL (H)
Ответ написан
Mendel
@Mendel
PHP-developer
для XSRF лучше использовать токены.
Даже если все комбинации юзерского софта будут защищать реферер, то никто не знает какую уязвимость найдут завтра.
Когда я последний раз этим интересовался (давно) возможность атаки имела место.
Ответ написан
BeLove
@BeLove
security
На данный момент актуальных способов подделки referer в браузере пользователя нет, если требуется конкретный ответ на вопрос.
Ответ написан
@egorinsk
Если вы делаете игры с кроссдоменной авторизацией, ставьте подпись. Некоторые плагины к браузерам и прокси вырезают referer, вы получите то, что у части пользователей реферер работать не будет, и потратите кучу времени на выяснение, почему.
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
Никаким данным пришедшим от пользователя доверять нельзя!
(PS: это же вообще основы WEB разработки)
Ответ написан
@rozhik
Если проблема в том, чтобы на стандартном не модифицированном браузере, без privacy фильтров не дать:
1 3 тьей стороне вставить hotlink на контент
2 пользователю перейти непосредственно на страницу
3 XHR с сайта 3тьей стороны
То можете.
Но я рекомендую подписывать серьёзные запросы. Ибо более чем у трети пользователей старый браузерный софт. А к нему можно найти много дырок во флэше, джаве или еще в чем, которые позволили бы третьей стороне сэмулировать переход с неверным реферором.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы