一个正则表达式(正则表达式)的错误导致功能的漏洞,我们继续梳理,正则表达式的使用不当,导致功能设计漏洞(bug),网站,很多网站开发需要的知识,这项工作在中国超过10年,许多开发商通过:培训(自学)->模仿->做项目,这样的一个过程,其中许多已被修正和改变,他们已成为Web开发工程师。这条线是低和容易得到,但是不容易被掌握。我们需要
学习和掌握许多门知识,同一个人的
介绍,很多时候是因为
系统的学习,缺乏理论
支持。一些推广因为心脏是不够的,因此,这些或多或少的
功能性设计漏洞的出现是很常见的!
嗯,有些跑题,做代码走查,这种
类型的漏洞也
经常出现。让我们在下面的代码看起来:
< PHP
用户名=bcd123三;
ABC和BCD在开始时,只是一个
用户名,然后是数字字符。
preg_match_all( / ABC | BCD D /
var_dump($匹配);
结果是*
数组(1){
{ 0 } >
数组(1){
{ 0 } >
字符串(6)bcd123
}
}
* /
看了所有的
网页,ABC或BCD开始,后跟一个数字串。通过以上,我们看到,bcd123
正确匹配,如果我们
输入:用户名= abc123三,
发现无法比拟的。
原因是|字符,优先级最低的,上面写着:ABC或将成为BCD D +字符串匹配。
上面的图表,将|,包括(中)。
如果你想提高优先级,你可以(ABC | BCD) D +,匹配所有ABC或BCD码字符串,并按照号码。在|字符串的使用,注意优先级别较低,如果之前的比赛,可以放在(中)。