溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

正則表達(dá)式中regex或操作符”|“使用易出現(xiàn)功能Bug怎么辦

發(fā)布時間:2021-09-28 16:42:20 來源:億速云 閱讀:174 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要為大家展示了“正則表達(dá)式中regex或操作符”|“使用易出現(xiàn)功能Bug怎么辦”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“正則表達(dá)式中regex或操作符”|“使用易出現(xiàn)功能Bug怎么辦”這篇文章吧。

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

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

<?php
$user="bcd123張三";
///匹配用戶名中出現(xiàn)abc還有bcd開頭,后面緊跟是數(shù)字字符
 
preg_match_all("/abc|bcd\d+/",$user,$match);
var_dump($match);
 
/*結(jié)果是
array(1) {
 [0]=>
 array(1) {
 [0]=>
 string(6) "bcd123"
 }
}
*/

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

正則表達(dá)式中regex或操作符”|“使用易出現(xiàn)功能Bug怎么辦

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

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

以上是“正則表達(dá)式中regex或操作符”|“使用易出現(xiàn)功能Bug怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI