omaxphp
@omaxphp
Выучиться не значит знать

Как на сервере проверить, что ajax запрос с нашего сервера?

То есть при помощи PHP проверить, что скрипт1 с нашего сервера запросил у index.php какие-то данные!

Просто, если мы с другого сайта сделаем и get, и post запросы на наш сервер (запрос у index.php), то он все равно будет выдавать данные тому скрипту, хотя скрипт был написан не нами и вовсе не хранится на нашем сервере.

Как все же проверять, что GET или POST переменные переданы с нашего скрипта, который на нашем сервере?
  • Вопрос задан
  • 3215 просмотров
Решения вопроса 1
@neol
Простейший вариант будет выглядеть как-то так:
if(strpos($_SERVER['HTTP_REFERER'], 'http://mydomain.ru/') === false) {
    exit('Ты кто такой? Давай до свиданья!');
}

Этого достаточно чтобы "всякие там не шлялись".

Более сложные методы можно нагуглить по ключевому слову CSRF.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@iamnothing
Строго говоря, когда пользователь загружает скрипты/страницы, то они уже не у вас на сервере, а у него в браузере. По делу: как вариант, можно прикрутить авторизацию.
Ответ написан
Комментировать
@Zetyara
Используйте $_SERVER['REMOTE_HOST']
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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