legitbot
v1.11.2
Ruby Gem, um sicherzustellen, dass eine IP wirklich zu einem Bot gehört, normalerweise einer Suchmaschine.
Angenommen, Sie haben eine Webanfrage und möchten überprüfen, ob sie nicht graben wird:
bot = Legitbot . bot ( userAgent , ip ) bot ist nil , wenn im User-Agent keine Bot-Signatur gefunden wurde. Andernfalls ist es ein Objekt mit Methoden
bot . detected_as # => :google
bot . valid? # => true
bot . fake? # => falseManchmal wissen Sie bereits, welche Suchmaschine zu erwarten ist. Zum Beispiel verwenden Sie möglicherweise einen Rack-Angriff:
Rack :: Attack . blocklist ( "fake Googlebot" ) do | req |
req . user_agent =~ %r(Googlebot) && Legitbot :: Google . fake? ( req . ip )
endOder wenn Sie nicht all diese gruseligen Crawler mögen, die Ihre Inhalte stehlen, bewerten und sich darauf vorbereiten, Ihre Website mit Spammer einzufangen, dann blockieren Sie sie alle:
Rack :: Attack . blocklist 'fake search engines' do | request |
Legitbot . bot ( request . user_agent , request . ip ) &. fake?
end Semantische Versionierung mit folgenden Klarstellungen:
Apache 2.0
User-Agent erkenntUser-Agent