最佳答案
我想检查服务器端,如果请求我的 php 页面是一个 Ajax 请求或不。
我看到了两种方法:
第一种方法: 在请求中发送一个 GET
参数,告诉页面这是一个 AJAX 请求(= mypage.php?ajax
)
返回文章页面
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');
返回文章页面
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) {
//request is ajax
}
事实上,这两种方式很容易被黑客攻击,所以检查我是否收到这样的 AJAX 请求是不安全的。
如何检查我是否收到一个 AJAX 请求?