legitbot
v1.11.2
Ruby Gem para garantir que um IP realmente pertença a um bot, normalmente um mecanismo de pesquisa.
Suponha que você tenha uma solicitação da web e gostaria de verificar que não está digitada:
bot = Legitbot . bot ( userAgent , ip ) bot será nil se nenhuma assinatura de bot foi encontrada no User-Agent . Caso contrário, será um objeto com métodos
bot . detected_as # => :google
bot . valid? # => true
bot . fake? # => falseÀs vezes você já sabe qual mecanismo de pesquisa esperar. Por exemplo, você pode estar usando o ataque de rack:
Rack :: Attack . blocklist ( "fake Googlebot" ) do | req |
req . user_agent =~ %r(Googlebot) && Legitbot :: Google . fake? ( req . ip )
endOu se você não gosta de todos aqueles rastreadores macabra roubando seu conteúdo, avaliando -o e se preparando para invadir seu site com spammers, depois bloqueie todos eles:
Rack :: Attack . blocklist 'fake search engines' do | request |
Legitbot . bot ( request . user_agent , request . ip ) &. fake?
end Versão semântica com os seguintes esclarecimentos:
Apache 2.0
User-AgentUser-Agent