Как проверить реферер JQuery/AJAX для предотвращения CSRF?

if ($_SERVER['HTTP_REFERER'] == "????")

Каким будет HTTP_REFERER, если эта страница будет достигнута с помощью запроса JQuery $.post?


person Norse    schedule 14.03.2012    source источник
comment
Если вы делаете это в целях безопасности, пожалуйста, не делайте этого. Заголовок referer может быть легко подделан клиентом.   -  person F21    schedule 14.03.2012
comment
@phpdev На самом деле да, согласно Шпаргалке OWASP по предотвращению CSRF, в большинстве случаев проверки реферера достаточно для исправления уязвимости CSRF.   -  person Norse    schedule 14.03.2012


Ответы (1)


пытаться

strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

Обратите внимание, что не все серверы предоставляют эту переменную

и вы можете прочитать это Обнаружение Ajax в PHP и убедиться, что запрос был с моего собственного веб-сайта

person Muhannad A.Alhariri    schedule 14.03.2012
comment
Именно то, что я искал СПАСИБО - person Norse; 14.03.2012