0

我在许多相关问题中搜索了答案,但没有一个能真正解决我的问题,所以我有以下代码:

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_WITHHTTP_X_REQUEST_WITH,因为另一个问题的答案,我看到有时请求作为 HTTP_X_REQUEST_WITH 而不是发送HTTP_X_REQUESTED_WITH

但是这些都不起作用,这很奇怪,因为它几天前就起作用了……

4

2 回答 2

1

AJAX 请求不会自动获取 HTTP_X_REQUESTED_WITH 标头。

jQuery 和大多数其他库都会发送它,但如果您使用了自己的 AJAX,则需要使用自己的 HTTP_X_REQUESTED_WITH 标头。

于 2013-04-13T19:36:33.033 回答
0

HTTP_X_REQUESTED_WITH更改为X_REQUESTED_WITH适用于主要的现代浏览器。请注意,某些浏览器可能仍使用HTTP_X_REQUESTED_WITH.

于 2014-03-24T12:40:21.883 回答