在 Rails 中验证 Googlebot



我希望在我的rails应用程序中实现First Click Free。谷歌有关于如何验证谷歌机器人是否正在查看你的网站的信息。

我一直在寻找 Rails 是否有任何东西可以做到这一点,但我找不到任何东西。所以首先,有人知道什么吗?如果没有,任何人都可以指出我如何实施他们在该页面中关于如何验证的建议的正确方向吗?

此外,在该解决方案中,它每次都必须进行查找以尝试检测Google,如果我必须在每次页面加载时都这样做,这似乎会是一个很大的性能影响?如果过去已经验证过IP,我可以缓存IP,但Google表示他们的IP发生了变化,因此在某些时候它可能不再属于他们。虽然它可能不会经常发生,所以它可能不是一个大问题。

非常感谢!!

查看浏览器 gem: https://github.com/fnando/browser

我要做的是使用

browser.bot?

检查您的网站是否被机器人访问的方法。如果您特别关心Googlebot,则可以检查是否

browser.name

包括谷歌机器人。请记住,此 gem 仅检查客户端浏览器发送的用户代理,这当然可能是欺骗性的。听起来这对您的目的来说并不是一个大问题。

我最近为此构建了一个 Ruby gem,它被称为"legitbot"。

您可以使用以下方法了解 Web 请求是否来自受支持的机器人

bot = Legitbot.bot(userAgent, ip)

"LegitBot"是调查User-agent并搜索机器人签名,即机器人如何识别自己。这并不能保证Web请求IP确实来自例如Googlebot。要确定是,请致电

bot.detected_as # => "Google"
bot.valid? # => true
bot.fake? # => false

支持的机器人是Googlebot,Yandex机器人,Bing,百度,DuckDuckGo。

最新更新