Как да проверя JQuery/AJAX референт за предотвратяване на CSRF?

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

Какво би било HTTP_REFERER, ако тази страница беше достигната от JQuery $.post заявка?


person Norse    schedule 14.03.2012    source източник
comment
Ако правите това от съображения за сигурност, моля, не го правете. Референтният хедър може лесно да бъде подправен от клиента.   -  person F21    schedule 14.03.2012
comment
@phpdev Всъщност да, според OWASP CSRF Prevention Cheat Sheet в повечето случаи проверката на референта е достатъчна, за да се коригира 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