legitbot
v1.11.2
Ruby Gem, чтобы убедиться, что IP действительно принадлежит боту, обычно поисковой системой.
Предположим, у вас есть веб -запрос, и вы хотели бы проверить, что он не раскаивается:
bot = Legitbot . bot ( userAgent , ip ) bot будет nil , если в User-Agent не было найдено никакой подписи бота. В противном случае это будет объект с методами
bot . detected_as # => :google
bot . valid? # => true
bot . fake? # => falseИногда вы уже знаете, какую поисковую систему ожидать. Например, вы можете использовать Attack:
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