# Nginx WAF rules for PHP location / { set $attack_detected 0; if ($request_uri ~* "(?:") { set $attack_detected 1; } if ($request_uri ~* "(?i)php://(?:std(?:in|out|err)|(?:in|out)put|fd|memory|temp|filter)") { set $attack_detected 1; } if ($request_uri ~* ".*.(?:phpd*|phtml)..*$") { set $attack_detected 1; } if ($request_uri ~* ".*.ph(?:pd*|tml|ar|ps|t|pt).*$") { set $attack_detected 1; } if ($request_uri ~* "(?:bzip2|expect|glob|ogg|(?:ph|r)ar|ssh2(?:.(?:s(?:hell|(?:ft|c)p)|exec|tunnel))?|z(?:ip|lib))://") { set $attack_detected 1; } if ($request_uri ~* "[oOcC]:d+:\".+?\":d+:{.*}") { set $attack_detected 1; } if ($attack_detected = 1) { return 403; } }