您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“正則表達式中regex或操作符”|“使用易出現功能Bug怎么辦”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“正則表達式中regex或操作符”|“使用易出現功能Bug怎么辦”這篇文章吧。
正則表達式(regex)錯誤使用導致功能漏洞 ,我們繼續梳理,正則表達式錯誤使用,導致功能設計漏洞(bug),做web方面,需要掌握的知識很多,網站開發這項工作,在國內也就10多年,很多開發人員,都是通過:培訓(自學) ->模仿->做項目 ,這樣一個過程。很多就是修修改改后,就成為了web開發工程師。這行入門低,很容易上手。但是想成為大師級的,還是很不容易。需要學習,掌握的知識幾十門。而對于剛剛入門同人,很多時候因為缺乏系統學習,理論支持。導致提升有些心有余而力不足啦!因此,出現這些或多或少的功能設計漏洞,是很常見的!
好了,有些跑題了,在做代碼走查時候,這類漏洞也是時常出現。我們看下,下面代碼:
<?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+ 字符串。
以上圖,將|,包含到()中。
如果要提升優先級,可以(abc|bcd)\d+ ,匹配所有abc或者bcd 字符串,并且后面緊跟數字的。在使用”|”字符串,注意它的優先級級別低,如果要優先匹配,可以放入()中。
以上是“正則表達式中regex或操作符”|“使用易出現功能Bug怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。