Как проверить, является ли запрос 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-запрос?