我在许多相关问题中搜索了答案,但没有一个能解决我的问题,所以我有这个代码:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
}else{
echo("This page can't be accessed.");
}
我尝试将HTTP_X_REQUESTED_WITH
重命名为HTTP_X_REQUEST_WITH
,因为我看到其他问题答案,有时请求是以HTTP_X_REQUEST_WITH而非HTTP_X_REQUESTED_WITH
发送的。
但没有一个有效,这很奇怪,因为它几天前工作了......
答案 0 :(得分:1)
AJAX请求不会自动获取HTTP_X_REQUESTED_WITH标头。
jQuery和大多数其他库发送它,但如果您已经推出了自己的AJAX,则需要滚动自己的HTTP_X_REQUESTED_WITH标头。
答案 1 :(得分:0)
主要现代浏览器的HTTP_X_REQUESTED_WITH
已更改为X_REQUESTED_WITH
。
请注意,某些浏览器仍可能使用HTTP_X_REQUESTED_WITH
。