【发布时间】:2013-07-10 02:31:30
【问题描述】:
我有一个脚本,每次查看页面时都会添加到数据库中,我不希望机器人触发添加到数据库的脚本部分。基本上,我只想记录真实用户。
无论如何让机器人忽略一段 PHP 脚本?
谢谢!
【问题讨论】:
我有一个脚本,每次查看页面时都会添加到数据库中,我不希望机器人触发添加到数据库的脚本部分。基本上,我只想记录真实用户。
无论如何让机器人忽略一段 PHP 脚本?
谢谢!
【问题讨论】:
虽然不是万无一失,但您可以检查 USER_AGENT 字符串并仅在 'bot' 不存在时运行该代码。
if(stripos($_SERVER['HTTP_USER_AGENT'],'bot') === false){ }
这将停止任何在用户代理字符串中实际包含 bot 且也不关注 robots.txt 的机器人。
【讨论】:
if (!empty($_SERVER['HTTP_USER_AGENT']) and preg_match('~(bot|crawl)~i', $_SERVER['HTTP_USER_AGENT'])) { ... }stackoverflow.com/a/17515475/907736 找到的答案
您可以创建一个 robots.txt 文件来限制机器人访问您不想要的页面或目录。这是一个链接,将向您展示 robots.txt 的工作原理Robots.txt
【讨论】:
为什么不做这样的事情,它只会要求机器人远离,不管他们做不做都取决于他们的判断!
User-agent: *
Disallow: /my_page.php
【讨论】: