Как проверить, является ли запрос AJAX-запросом с PHP

Я хотел бы проверить на стороне сервера, является ли запрос на мою страницу php запросом ajax или нет.

Я видел два способа сделать это:

Первый способ: отправкаGET параметр в запросе, который сообщает странице, что это AJAX-запрос (=)mypage.php?ajax

mypage.php:

if(isset($_GET['ajax'])) {
    //this is an ajax request, process data here.
}

Второй способ: установить заголовок на:xmlHttpRequest

клиентская сторона js:

xmlHttpRequestObject.open(“GET”,url,true);
xmlHttpRequestObject.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

mypage.php:

if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
    //request is ajax
}

Дело в том, что эти два способа сделать это можно легко взломать, так чтоНе безопасно проверять, получаю ли я AJAX-запрос, подобный этому.

Как я могу проверить, если яя получаю AJAX-запрос?

Ответы на вопрос(7)

Ваш ответ на вопрос