国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Regex > 正文

正則表達式(regex)或操作符”|“使用易出現功能Bug

2020-03-16 21:03:12
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了正則表達式(regex)或操作符”|“使用易出現功能Bug,需要的朋友可以參考下
 

接上一篇:正則表達式(regex)錯誤使用導致功能漏洞 ,我們繼續梳理,正則表達式錯誤使用,導致功能設計漏洞(bug),做web方面,需要掌握的知識很多,網站開發這項工作,在國內也就10多年,很多開發人員,都是通過:培訓(自學) ->模仿->做項目 ,這樣一個過程。很多就是修修改改后,就成為了web開發工程師。這行入門低,很容易上手。但是想成為大師級的,還是很不容易。需要學習,掌握的知識幾十門。而對于剛剛入門同人,很多時候因為缺乏系統學習,理論支持。導致提升有些心有余而力不足啦!因此,出現這些或多或少的功能設計漏洞,是很常見的!

好了,有些跑題了,在做代碼走查時候,這類漏洞也是時常出現。我們看下,下面代碼:
 

  1. <?php 
  2. $user="bcd123張三"
  3. ///匹配用戶名中出現abc還有bcd開頭,后面緊跟是數字字符 
  4.   
  5. preg_match_all("/abc|bcd/d+/",$user,$match); 
  6. var_dump($match); 
  7.   
  8. /*結果是 
  9. array(1) { 
  10.  [0]=> 
  11.  array(1) { 
  12.  [0]=> 
  13.  string(6) "bcd123" 
  14.  } 
  15. } 
  16. */ 
?

查找所有頁面出現abc或者bcd開頭,后面緊跟數字字符串。通過上面,我們看,正確匹配到bcd123,如果我們輸入:$user = “abc123張三”, 發現不能匹配到了。原因是”|”字符,優先級最低,以上寫法會變成:匹配abc 或者是bcd/d+ 字符串。

正則表達式(regex)或操作符”|“使用易出現功能Bug

以上圖,將|,包含到()中。

 

如果要提升優先級,可以(abc|bcd)/d+ ,匹配所有abc或者bcd 字符串,并且后面緊跟數字的。在使用”|”字符串,注意它的優先級級別低,如果要優先匹配,可以放入()中。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿松县| 大姚县| 许昌市| 高邑县| 中山市| 雅安市| 西藏| 长治市| 广饶县| 罗山县| 彭水| 罗平县| 商丘市| 抚州市| 长治县| 遂宁市| 江永县| 会同县| 卢龙县| 福州市| 屯留县| 莲花县| 大理市| 陈巴尔虎旗| 闸北区| 南充市| 四川省| 衡水市| 丰城市| 蓝山县| 绥宁县| 甘谷县| 安西县| 云阳县| 巴南区| 河曲县| 安乡县| 山阴县| 治县。| 九龙县| 旌德县|