怎样使用 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 函数,它会传递机器人名称,并将其与检测蜘蛛是否为搜索引擎机器人的用户代理进行比较。
广告