主頁 > 知識庫 > 正則表達式(regex)或操作符”|“使用易出現(xiàn)功能Bug

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

熱門標(biāo)簽:科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 服務(wù)器配置 電子圍欄 Linux服務(wù)器 團購網(wǎng)站 阿里云 Mysql連接數(shù)設(shè)置

接上一篇:正則表達式(regex)錯誤使用導(dǎo)致功能漏洞 ,我們繼續(xù)梳理,正則表達式錯誤使用,導(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+ 字符串。

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

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

您可能感興趣的文章:
  • Java正則表達式處理特殊字符轉(zhuǎn)義的方法
  • 正則表達式字符類加深理解
  • 正則表達式\d元字符(相對于數(shù)字0-9)
  • 正則表達式\W元字符使用方法
  • 正則表達式\w元字符使用介紹
  • 利用正則表達式判斷一個給定的字符是否是回文
  • 使用正則表達式替換報表名稱中的特殊字符(推薦)
  • C#正則表達式轉(zhuǎn)義字符介紹
  • 正則表達式匹配任意字符(包括換行符)的寫法
  • 正則表達式匹配不包含某些字符串的技巧
  • 正則表達式教程之操作符及說明詳解

標(biāo)簽:棗莊 衢州 衡水 蚌埠 大理 萍鄉(xiāng) 廣元 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《正則表達式(regex)或操作符”|“使用易出現(xiàn)功能Bug》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266