我正在尝试创建一个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
Run Code Online (Sandbox Code Playgroud)
谢谢.
使用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
Run Code Online (Sandbox Code Playgroud)