legitbot
v1.11.2
Ruby Gem pour s'assurer qu'une IP appartient vraiment à un bot, généralement un moteur de recherche.
Supposons que vous ayez une demande Web et que vous souhaitez vérifier qu'il n'est pas digéré:
bot = Legitbot . bot ( userAgent , ip ) bot sera nil si aucune signature de bot n'a été trouvée dans l' User-Agent . Sinon, ce sera un objet avec des méthodes
bot . detected_as # => :google
bot . valid? # => true
bot . fake? # => falseParfois, vous savez déjà à quel moteur de recherche s'attendre. Par exemple, vous pourriez utiliser une attaque de rack:
Rack :: Attack . blocklist ( "fake Googlebot" ) do | req |
req . user_agent =~ %r(Googlebot) && Legitbot :: Google . fake? ( req . ip )
endOu si vous n'aimez pas tous ces robots macabres qui volent votre contenu, l'évaluez et vous préparez à envahir votre site avec des spammeurs, alors bloquez-les tous:
Rack :: Attack . blocklist 'fake search engines' do | request |
Legitbot . bot ( request . user_agent , request . ip ) &. fake?
end Versioning sémantique avec les clarifications suivantes:
Apache 2.0
User-AgentUser-Agent