Как обнаружить AJAX запрос в PHP
Сниппет
Во-первых, нет надежного способа узнать, что запрос был сделан через Ajax. Никогда не следует доверять данным, исходящим от клиента.
Но вы можете использовать хедеры для обнаружения AJAX запросов. Заголовок HTTP_X_REQUESTED_WITH
отправляется всеми последними браузерами, поддерживающими запросы AJAX.
if ( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
{
// это ajax запрос, тут ваш код
}
Начиная с PHP 7, с нулевым оператором объединения - код будет короче:
$isAjax = 'xmlhttprequest' == strtolower( $_SERVER['HTTP_X_REQUESTED_WITH'] ?? '' );
Похожие снипеты
- Обнаружение ботов через user agent
- Валидация XML
- Проверка равенства двух массивов
- Валидация URL
- Проверить, начинается ли строка с определенных символов
- Извлечь все битовые флаги
- Проверить, сериализована ли строка
- Проверить, установлен ли битовый флаг
- Валидация Email
- Проверка, все ли значения в массиве равны