如何使用 PHP 检测搜索引擎机器人?

phpserver side programmingprogramming更新于 2025/4/18 0:22:17

可以使用蜘蛛名称的搜索引擎目录作为参考。接下来,可以使用 $_SERVER['HTTP_USER_AGENT']; 检查代理是否为蜘蛛(机器人)。

下面是一个演示相同 − 的示例

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "some_bot_name")) {
   //需要使用的其他步骤
}

代码说明 − 代理与用户代理一起传递给 strtolower 函数,该函数的输出又传递给 strstr 函数。比较用户代理和机器人,以查看蜘蛛是否是机器人。

另一个选项如下所示 −

function _bot_detected() {
   return (
      isset($_SERVER['HTTP_USER_AGENT'])
      && preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT']);
}

代码说明 − preg_match 函数有助于在字符串中查找特定模式。向 preg_match 函数传递机器人名称,并将其与用户代理进行比较,以检测蜘蛛是否是搜索引擎机器人。


相关文章