if(preg_match('/SELECT.+FROM.+/is', $input)) { die('SQL Injection'); } 均存在上述问题,通过大量回溯可以进行绕过。 另外,我遇到更常见的一种 WAF 是: <?php if(preg_match('/UNION.+?SELECT/is', $input)) { die('SQL Injection'); } 这里涉及到了正则表达式的「非贪婪模式」。在 NFA 中...