VDS за 300р от нашего партнера SpaceWeb
[55]
22 Дек 2011, 12:25

Определить Ajax запрос или нет

Привет!

Как определить, запрос был через Ajax или просто из формы или напрямую из адресной строки. Очень нужно, что бы не подделывали запросы. Например я оправляю Ajax запрос методом GET, он делает важные вещи. Но так же получается можно вбить адрес в адресную строку и сделать тоже самое. Из-за этого могут быть проблемы с безопасностью. Пользователь может разместить на своём сайте переадресацию на эту страницу или что-то в этом роде и тогда этот скрипт будет выполняться не по желанию пользователя.

#php

Комментарии (1)
grom 22.12.2011 17:19

Нужно ловить заголовок HTTP_X_REQUESTED_WITH и проверять его наличие.

$is_ajax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false;

if($is_ajax) echo "Запрос передан методом Ajax";

Если вы пользуетесь каким-нибудь фреймворком, например JQuery, то заголовок HTTP_X_REQUESTED_WITH у вас будет определён, но если вы используете свой чистый ajax. То нужно передавать этот заголовок серверу самому. Например так:

request.open("GET", url, true);
request.onreadystatechange = myfon;

request.setRequestHeader("X-Requested-With", "XMLHttpRequest");

request.send(null);
0

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Найди ответ на любой вопрос по Веб-разработке!
задать вопрос...
Вы можете разместить Рекламный пост самостоятельно, либо отправив контент по адресу admin@webonrails.ru→ Оплата здесь ←Неоплаченные посты удаляются.
Метки:
Лучшее
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 36580]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 36054]
[1]
15 Апр 2021, 08:29
Переполнение памяти Nuxt.js
[просмотров 34850]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 14502]
[125]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 11807]
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 10852]
[50]
31 Дек 2011, 14:57
Cron запускать раз в неделю
[просмотров 8951]

Вести с Хабра