我已经实现了单点登录功能,可以将用户重定向到另一个域并重新返回。当然,我不希望重定向搜索引擎(我们至少关心的那些),那么什么是可接受的解决方案呢?
这是我在PHP中找到的一个
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($agent, "bot") ||
strpos($agent, "slurp") ||
strpos($agent, "crawl") ||
strpos($agent, "google") ||
strpos($agent, "teoma") ||
strpos($agent, "spider") ||
strpos($agent, "feed") ||
strpos($agent, "index")) {
return null;
}
也许最佳解决方案实际上是检测并仅重定向真实用户?
答案 0 :(得分:1)
最好检查用户代理字符串中是否存在渲染引擎,例如Gecko / AppleWebKit / Opera / Trident /,因为大多数抓取工具都不包含此字符串。这样,您只会重定向浏览器。
答案 1 :(得分:0)
我的结论是,这是识别最受信任和主流的蜘蛛/爬虫的可接受方式。如果用户在其用户代理字符串中具有上述任何一项,则他们或者是蜘蛛,或者假装是一个蜘蛛。
当然会有蜘蛛/抓取工具在其用户代理字符串中不包含上述内容,并且不会检测到它们。如果这对您很重要,那么请不要使用此方法,而是寻求替代且定期更新的解决方案,这可能会利用IP地址查找