map $query_string $blocked_query_string { default 0; "~*union.*select.*\(" 1; "~*union.*all.*select.*" 1; "~*concat.*\(" 1; "~*[a-zA-Z0-9_]=(\.\.//?)+" 1; "~*[a-zA-Z0-9_]=/([a-z0-9_.]//?)+" 1; "~*(<|%3C).*script.*(>|%3E)" 1; "~*GLOBALS(=|\[|\%[0-9A-Z]{0,2})" 1; "~*_REQUEST(=|\[|\%[0-9A-Z]{0,2})" 1; "~*proc/self/environ" 1; "~*mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" 1; "~*base64_(en|de)code\(.*\)" 1; } map $http_user_agent $blocked_user_agent { default 0; "~*Google-Extended" 1; "~*GPTBot" 1; "~*ChatGPT-User" 1; "~*CCBot" 1; }