我正在尝试创建一个SQL过滤系统,当请求包含任何包含的单词时通知用户。
目前我的正则表达式仅支持所有大写字母,我想知道是否有可能让它也接受非大写字母以及其他字母组合,例如SElEcT
我知道手动输入是可能的,但是,这不是执行此类任务的最有效方法。
这是我当前的代码:
function checkString($string)
{
if(preg_match('[SELECT|FROM|DATABASE|TABLE|DROP|ALTER|LIKE|IN|BETWEEN|UNION|NULL|CHECK|JOIN|AVG|SUM|COUNT|FIRST|LAST|MAX|MIN|GROUP]', $string
谢谢。
使用 i
修饰符(使正则表达式不区分大小写)。
if(preg_match('/(SELECT|FROM|DATABASE|TABLE|DROP|ALTER|LIKE|IN|BETWEEN|UNION|NULL|CHECK|JOIN|AVG|SUM|COUNT|FIRST|LAST|MAX|MIN|GROUP)/i', $string
更多信息