gpt4 book ai didi

正则表达式(regex)或操作符”|“使用易出现功能Bug

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章正则表达式(regex)或操作符”|“使用易出现功能Bug由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

接上一篇:正则表达式(regex)错误使用导致功能漏洞 ,我们继续梳理,正则表达式错误使用,导致功能设计漏洞(bug),做web方面,需要掌握的知识很多,网站开发这项工作,在国内也就10多年,很多开发人员,都是通过:培训(自学) ->模仿->做项目 ,这样一个过程。很多就是修修改改后,就成为了web开发工程师。这行入门低,很容易上手。但是想成为大师级的,还是很不容易。需要学习,掌握的知识几十门。而对于刚刚入门同人,很多时候因为缺乏系统学习,理论支持。导致提升有些心有余而力不足啦!因此,出现这些或多或少的功能设计漏洞,是很常见的! 。

好了,有些跑题了,在做代码走查时候,这类漏洞也是时常出现。我们看下,下面代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$user = "bcd123张三" ;
///匹配用户名中出现abc还有bcd开头,后面紧跟是数字字符
 
preg_match_all( "/abc|bcd\d+/" , $user , $match );
var_dump( $match );
 
/*结果是
array(1) {
  [0]=>
  array(1) {
  [0]=>
  string(6) "bcd123"
  }
}
*/

查找所有页面出现abc或者bcd开头,后面紧跟数字字符串。通过上面,我们看,正确匹配到bcd123,如果我们输入:$user = “abc123张三”, 发现不能匹配到了。原因是”|”字符,优先级最低,以上写法会变成:匹配abc 或者是bcd\d+ 字符串.

正则表达式(regex)或操作符”|“使用易出现功能Bug

以上图,将|,包含到()中.

  。

如果要提升优先级,可以(abc|bcd)\d+ ,匹配所有abc或者bcd 字符串,并且后面紧跟数字的。在使用”|”字符串,注意它的优先级级别低,如果要优先匹配,可以放入()中.

最后此篇关于正则表达式(regex)或操作符”|“使用易出现功能Bug的文章就讲到这里了,如果你想了解更多关于正则表达式(regex)或操作符”|“使用易出现功能Bug的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com