Вы можете проверить это следующим образом ...
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND
strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
Если вы только ожидаете доступа через XHR, то просто exit
, если этот заголовок отсутствует.
Примечание : этот заголовок тривиален для подмены.Не полагайтесь на это ни на что, кроме , похоже, оно исходит от XHR .