怎样使用 PHP 检测搜索引擎机器人?


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

以下是展示此方法的示例 −

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "some_bot_name")) {
   //other steps that need to be used
}

代码说明:− 该代理连同用户代理一起传递给 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 函数,它会传递机器人名称,并将其与检测蜘蛛是否为搜索引擎机器人的用户代理进行比较。

更新于: 2020-04-06

已有 1K+ 查看次数

开启你的职业生涯

完成课程并获得认证

开始
广告