# Nginx WAF rules for PHP location / { set $attack_detected 0; 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 ~* "@pm ?>") { set $attack_detected 1; } if ($request_uri ~* ".*.ph(?:pd*|tml|ar|ps|t|pt).*$") { set $attack_detected 1; } if ($request_uri ~* "@pm =") { set $attack_detected 1; } if ($request_uri ~* "AUTH_TYPE|HTTP_(?:ACCEPT(?:_(?:CHARSET|ENCODING|LANGUAGE))?|CONNECTION|(?:HOS|USER_AGEN)T|KEEP_ALIVE|(?:REFERE|X_FORWARDED_FO)R)|ORIG_PATH_INFO|PATH_(?:INFO|TRANSLATED)|QUERY_STRING|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 ~* "[oOcC]:d+:\".+?\":d+:{.*}") { set $attack_detected 1; } if ($request_uri ~* "(?i)