如何使用 PHP 检查请求是否为 AJAX 请求
2022-08-30 08:20:48
我想检查服务器端对我的php页面的请求是否是ajax请求。
我看到了两种方法来做到这一点:
第一种方法:在请求中发送一个参数,告诉页面这是一个AJAX请求(=GET
mypage.php?ajax
)
我的页面.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');
我的页面.php:
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
//request is ajax
}
事实是,这两种方法很容易被黑客入侵,因此检查我是否收到这样的AJAX请求是不安全的。
如何检查我是否收到 AJAX 请求?