Block AI bots
This commit is contained in:
1
Gemfile
1
Gemfile
@@ -38,6 +38,7 @@ gem "matrix"
|
||||
gem "rack-session"
|
||||
gem "rack-rewrite"
|
||||
gem "rack-contrib"
|
||||
gem "rack-attack", "~> 6.7"
|
||||
|
||||
gem "ruby-readability", require: "readability"
|
||||
gem "down"
|
||||
|
@@ -365,6 +365,8 @@ GEM
|
||||
que (2.3.0)
|
||||
racc (1.8.0)
|
||||
rack (2.2.9)
|
||||
rack-attack (6.7.0)
|
||||
rack (>= 1.0, < 4)
|
||||
rack-contrib (2.5.0)
|
||||
rack (< 4)
|
||||
rack-rewrite (1.5.1)
|
||||
@@ -579,6 +581,7 @@ DEPENDENCIES
|
||||
pg
|
||||
puma
|
||||
que
|
||||
rack-attack (~> 6.7)
|
||||
rack-contrib
|
||||
rack-rewrite
|
||||
rack-session
|
||||
|
@@ -23,6 +23,13 @@ use Rack::Rewrite do
|
||||
}
|
||||
end
|
||||
|
||||
require "rack/attack"
|
||||
use Rack::Attack
|
||||
|
||||
Rack::Attack.blocklist("block AI") do |req|
|
||||
req.user_agent.match /AdsBot-Google|Amazonbot|anthropic-ai|Applebot|Applebot-Extended|AwarioRssBot|AwarioSmartBot|Bytespider|CCBot|ChatGPT-User|ClaudeBot|Claude-Web|cohere-ai|DataForSeoBot|Diffbot|FacebookBot|FriendlyCrawler|Google-Extended|GoogleOther|GPTBot|img2dataset|ImagesiftBot|magpie-crawler|Meltwater|omgili|omgilibot|peer39_crawler|peer39_crawler\/1.0|PerplexityBot|PiplBot|scoop.it|Seekr|YouBot/
|
||||
end
|
||||
|
||||
require "adamantium/middleware/header_fix"
|
||||
use Adamantium::Middleware::HeaderFix do |headers, env|
|
||||
unless headers["Content-Type"]&.downcase&.include?("xml") || headers["Content-Type"]&.downcase&.include?("json")
|
||||
|
Reference in New Issue
Block a user