legitbot
v1.11.2
Ruby Gem确保IP真正属于机器人,通常是搜索引擎。
假设您有一个Web请求,并且您想检查它没有被挖掘:
bot = Legitbot . bot ( userAgent , ip )如果在User-Agent中找不到机器人签名,则bot将nil 。否则,它将是一个具有方法的对象
bot . detected_as # => :google
bot . valid? # => true
bot . fake? # => false有时您已经知道要期望哪种搜索引擎。例如,您可能正在使用机架攻击:
Rack :: Attack . blocklist ( "fake Googlebot" ) do | req |
req . user_agent =~ %r(Googlebot) && Legitbot :: Google . fake? ( req . ip )
end或者,如果您不喜欢所有这些可怕的爬行者窃取您的内容,对其进行评估并准备用垃圾邮件发送者入侵您的网站,然后将它们全部封锁:
Rack :: Attack . blocklist 'fake search engines' do | request |
Legitbot . bot ( request . user_agent , request . ip ) &. fake?
end 具有以下澄清的语义版本控制:
Apache 2.0
User-AgentUser-Agent