You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP检测请求头是否含'X-Requested-With': 'fetch'异常求助

PHP无法检测到fetch-pjax发送的X-Requested-With请求头

我在StackOverflow上做了大量调研,翻了无数问答后还是没法定位这个代码问题,特意来求助。

我的需求是:检测请求是否由fetch API发起,若非则仅输出请求页面的部分内容。我知道原生fetch API不会主动发送请求头,但用fetch-pjax库能成功发送X-Requested-With: fetch请求头。同时我清楚存在请求头伪造风险,但我的网站没有用户凭证、Cookie这类敏感信息,所以暂时不考虑这个问题。

我的现有PHP代码如下:

$headers = getallheaders();
if(isset($headers['X-Requested-With']) && strtolower($headers['X-Requested-With']) == 'fetch') {
    echo 'requested by the fetch API';
} else {
    echo 'NOT requested by the fetch API';
}

问题现象:明明Chrome开发者工具里能看到请求已经发送了X-Requested-With: fetch头,但上面的代码始终输出“NOT requested by the fetch API”。如果我直接输出所有$headers的内容,是能正常看到这个请求头存在的。

我现在怀疑会不会是fetch请求发起时,动画插件lottie.js同时发起了若干非fetch的XHR请求,导致我的检测逻辑出了问题?

恳请各位大佬给些排查建议!

内容的提问来源于stack exchange,提问作者user1431398

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:47:43