<?php
class RequestTypeDetector {
public function detectRequestType() {
$userAgent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
// 检查是否是AJAX请求
if ($isAjax) {
return 'AJAX Request';
}
// 检查是否是搜索引擎爬虫请求
if ($this->isSearchEngineBot($userAgent)) {
return 'Search Engine Bot';
}
// 检查是否是正常的浏览器请求
if ($this->isBrowserRequest($userAgent)) {
return 'Browser Request';
}
// 其他请求
return 'Other Request';
}
private function isSearchEngineBot($userAgent) {
// 常见搜索引擎User-Agent关键字
$bots = [
'googlebot', 'bingbot', 'slurp', 'duckduckbot', 'baiduspider', 'yandexbot', 'sogou', 'exabot', 'facebot', 'ia_archiver'
];
foreach ($bots as $bot) {
if (stripos($userAgent, $bot) !== false) {
return true;
}
}
return false;
}
private function isBrowserRequest($userAgent) {
// 常见浏览器User-Agent关键字
$browsers = [
'mozilla', 'chrome', 'safari', 'firefox', 'opera', 'edge', 'trident'
];
foreach ($browsers as $browser) {
if (stripos($userAgent, $browser) !== false) {
return true;
}
}
return false;
}
}
// 示例使用
$detector = new RequestTypeDetector();
$requestType = $detector->detectRequestType();
echo "请求类型: " . $requestType; 网友回复
如何写ai提示词让大模型根据主题生成视频脚本json,然后让Hyperframe渲染出mp4视频?
有哪些字体使用等宽编程代码展示?
如果让演唱会歌迷的上万手机屏幕和闪光灯一起被现场中控控制闪烁?
Midjourney为啥进军医疗领域了?
python如何跟踪足球比赛指定球员全场运动标注打聚光灯合成
如何将linux服务器的文件目录映射到windows电脑磁盘?
Docling 与 MarkItDown 两个库有啥不同?
豆包收费后国产其他ai软件也会跟进收费吗?
JPEG 与 HEIF图片格式区别?
centos7版本太旧无法安装python3.11,如何在docker中运行python3.11?


