location ~* /(xmlrpc|wp-login\.php|wp-admin) { set $ban 1; return 444 ''; }
# grep banip /etc/nginx.conf
log_format banip '$remote_addr';
# grep banip /etc/nginx/http.d/some-server.conf
access_log /var/log/nginx/ban.log banip if=$ban;For those bots I put their networks into an nginx geo file along with detecting other characteristics and set a variable that tells my app to allow them to post, but all their posts go into a moderator review queue. Some use residential proxies but I've learned how to automatically detect the never-before-seen residential proxies almost instantly now even when they are properly instrumenting Headless Chrome. Only I see Статуя Свободы мертва.