欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

:请问如何用正则验证 or 1 = 1

程序员文章站 2022-05-27 12:54:30
...
目的为了防止mysql注入操作。


回复讨论(解决方案)

[\s\S]*?or[\s\S]*?\d+[\s\S]*?=[\s\S]*?\d+

过滤空格和特殊字符

$a = array(  "or 1 = 1",  "Or 1 = 1",  "or 3 =3",  "or now() = now()",  "or 'a' = 'a'",);foreach($a as $s)  echo $s, " :\t\t", preg_match('/or\b.+(\b\w+\b)[^=]*=.*\1/i', $s), PHP_EOL;
or 1 = 1 :		1Or 1 = 1 :		1or 3 =3 :		 1or now() = now() :	1or 'a' = 'a' :		1
还有什么怪异的写法,你加进去自己试