1 032 views

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

Сегодня я покажу вам способ который позволит вам проверить тип запроса, который приходить на ваши PHP скрипты, а именно определить Ajax запрос.

Для того чтобы определить идёт ли к нам ajax запрос, следует использовать следующий параметр суперглобального массива $_SERVER[‘HTTP_X_REQUESTED_WITH’]. Для тех кто не в курсе, Ajax запрос = запросу xmlhttprequest. Внимание! Нет никакой уверенности в том, что каждый веб сервер будет предоставлять данное значение в суперглобальном массиве $_SERVER. Для просмотра всех параметров $_SERVER, перейдите сюда.

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    // Если к нам идёт Ajax запрос, то ловим его
    echo 'Это ajax запрос!';
    exit;
}
//Если это не ajax запрос
echo 'Это не ajax запрос!';

Немного упростим

if ($_SERVER['HTTP_X_REQUESTED_WITH'] !== 'XMLHttpRequest') {
 exit;// если не аякс то не пускаем дальше
}

Данный фрагмент кода будет понятен всем, кто когда-то отслеживал тип запроса. В этом примере мы проверяем запрос на тип xmlhttprequest. Так как в данный момент Ajax становится всё более популярным и часто используемым, применение данной техники очень важно в вопросах безопасности. Не мне вам объяснять… Пользуйтесь на здоровье!

This site is using the Seo Wizard wordpress plugin by www.seowizard.org.