Php, получить реферера из запроса ajax - PullRequest
0 голосов
/ 02 апреля 2012

Мне нужно получить полный домен, в котором пользователь отправил запрос ajax на мой сервер, и он должен быть несколько безопасным.

$_SERVER['HTTP_REFERER']

Возвращает пустым.Какую функцию я должен использовать?Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 02 апреля 2012

Некоторые браузеры просто не отправляют данные реферера с запросами XHR. Заголовок реферера необязателен и может быть подделан в любом случае. Итак: вы не можете .

Одинаковая политика происхождения , вероятно, обеспечит вам всю необходимую защиту (хотя вы точно не указали свой вариант использования, поэтому трудно сказать наверняка).

1 голос
/ 17 апреля 2015

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

Взгляните на http://hashcash.org

Заставив клиента «платить» (с циклами вычислений) за отправку данных для обработки, вы можете отфильтровать обычных ботов, которые могут вызвать проблемы.

...