From 7d4a9c1a089be1d25ee734271503108c30610707 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Wed, 2 Jul 2025 00:13:00 +0100 Subject: [PATCH] dev: Block abusive AI scraper --- cookbooks/dev/templates/default/apache.user.erb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cookbooks/dev/templates/default/apache.user.erb b/cookbooks/dev/templates/default/apache.user.erb index 0c51e44e0..7d6c7484b 100644 --- a/cookbooks/dev/templates/default/apache.user.erb +++ b/cookbooks/dev/templates/default/apache.user.erb @@ -27,6 +27,12 @@ WSGIDaemonProcess <%= @user %>.dev.openstreetmap.org user=<%= @user %> processes CustomLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-access.log combined_extended ErrorLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-error.log + # Prevent abuse by an anonymous AI bot + RewriteCond %{REQUEST_METHOD} ^(GET|HEAD)$ + RewriteCond %{HTTP_REFERER} ^-?$ + RewriteCond %{HTTP_USER_AGENT} ((CriOS|Chrome)/[1-9][0-9]?\.0\.|Chrome/100\.0\.|Chrome/122\.0\.0\.0|(Firefox|FxiOS)/[1-6]?[0-9]\.|MSIE\ [5-9]\.0|Opera/[8-9]\.|Windows\ NT\ [3-5]\.|Version/[3-5]\.[0-1]) [NC] + RewriteRule ^ - [R=429,L] + RewriteCond <%= @directory %>%{REQUEST_FILENAME} -f RewriteRule ^/cgi-bin/(.*)$ /~<%= @user %>/cgi-bin/$1 [PT,L] -- 2.39.5