亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Regex > 正文

正則表達式(regex)錯誤使用導致功能漏洞分析

2020-03-16 21:03:15
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了正則表達式(regex)錯誤使用導致功能漏洞,需要的朋友可以參考下

寫在前面的話

正則表達式它的強大字符串匹配功能,導致目前在各種程序語言中,都非常流行!它被用來描述或者匹配一系列符合某個句法規則的字符串。很多剛剛使用正則表達式都是從聽說這個,然后在要使用時候去網上搜索。 很少人一開始就系統去學習正則表達式,從定義原理使用系統學習。因為,對應初學者覺得它太麻煩了,好多原字符。看到那么長一串字符,就很頭痛。因此,也懶得去學習。一般遇到問題,直接去網上搜索。如:“郵箱正則表達式,手機號正則表達式,url正則表達式…..” ,我們發現一個很有意思現象,“怎么郵箱正則表達式可以各種各樣,url正則表達式也不相同“,都出都在推薦,都說自己是正確的,到底那個是正確的呢?

從各異的正則表達式,我們可以得出2個結論。一、正則表達式很靈活,多種方法可以實現同一種結果(條條大路通羅馬),二、正則表達式匹配結果需要驗證的,復雜正則表達式很容易產生錯誤匹配。今天,我這里不說正則表達式靈活性,我們看看常見正則表達式錯誤使用,產生功能漏洞例子。希望,我們在使用時候多多注意。以下例子,來自我工作中審核代碼,經常出現例子,也歡迎朋友們補充!

定界符”^$”缺失bug

 

 
  1. <?php 
  2. ///檢測用戶名,只能是字符加數字 
  3.  
  4. $user="chengmo8"
  5.  
  6. if(!preg_match("<strong>/[0-9a-zA-Z]+/</strong>",$user)) 
  7. exit("用戶名錯誤!"); 

這是很常見的,因為沒有定界符,正則表達式搜索,會從$user中,字符中從左向右搜索,指導找到滿足條件的字符,就會匹配到,并且返回true,程序將繼續執行。我們測試,用戶名輸入:chengmo8,chengmo8??!,#$chengm,中國cadadf,都可以匹配成功,看似要限制只能字符加數字用戶名。實際由于缺乏限定符正則表達式,變成了,只要字符串中包含字母加數字就可以注冊。而我們需要的是,從頭到尾字符串必須是字母加數字。正則表達式應該是:^[0-9a-zA-Z]+$ ,看似簡單,在做從頭到尾字符匹配時候,不要忘記了^$字符。一個匹配輸入字符開頭,一個匹配輸入字符結尾(默認換行符前)

這種經常做,手機號,郵箱,url,注冊用戶名,密碼等。都需要有限定符號!

方括號字符"[ ]”中字符使用Bug

在正則表達式中,常見正則表達式原字符(.*?等等)在方括號字符中將變成普通字符。 在方括號字符中,表示特殊字符,只有“^-/” 3個字符是特殊字符。其中,“^”字符,在左方括號第一個字符時候,是代表不在后面所有字符中字符!

如:[^0]不能是0字符。而如果是:[0^] ,就代表包含0^字符了。因為:^已經不是左括號最右邊一個字符了。 已經跟普通字一樣了。“-”字符代表是范圍字符,如:[0-9] 代表是匹配0到9直接字符。”/”轉義字符,如果想匹配”-“字符,可以[0/-9],如果要匹配”/”,可以是:[0//9],表示“09/” 3個字符了。說這么些,其實就是因為,很多朋友在使用方括號字符時候,經常會弄錯特殊字符。

 

 
  1. <?php 
  2. ///檢測用戶名,只能是字符加數字 
  3.  
  4. $code = ""
  5.  
  6. ///匹配字符范圍包含.*? 
  7. preg_match("/[.*?]+/",$code); 
  8.  
  9. ///匹配字符范圍包含a到z 26個字符 
  10. preg_match("/[a-z]+/",$code); 
  11.  
  12. ///匹配字符范圍包含A到z 實際上,是從默認情況ascii表中,A字符到z字符中間,一共48字符 
  13. preg_match("/[A-z]+/",$code); 
  14.  
  15. ///匹配字符范圍包含A到z 是對應ascill碼,16進制 
  16. preg_match("/[x41-x7A]+/",$code); 
  17.  
  18. ///只想匹配字符串and 
  19. preg_match("/[and]/",$code); 
  20. ///實際匹配,所有包含a,n,d 組成所有字符,跟順序無關 

加紅是經常錯誤理解,只想匹配and,一旦加入到"[ ]"中字符,可以理解為所有字符組成字符 集合。任意在其中出現字符,就可以匹配,跟順序無關系!如果真需要匹配這類,按字符分組來,如”and|bnd” 將匹配and字符串,或者是bnd字符串。”|”字符是,字符串或操作符。左右兩邊連續字符串會組合為一個整體匹配。

好了,今天就整理,常見正則表達式,2種常見錯誤。歡迎大家交流!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩视频| 日本精品视频在线| 欧美三级欧美成人高清www| 国产乱人伦真实精品视频| 日韩亚洲欧美中文在线| 国产成人精品999| 国产日韩欧美夫妻视频在线观看| 欧美激情一区二区三级高清视频| 国产精品日韩在线一区| 国产精品视频色| 欧美大片免费观看在线观看网站推荐| 欧亚精品中文字幕| 亚洲精品成人久久久| 91国自产精品中文字幕亚洲| 日韩最新中文字幕电影免费看| 欧美一级黑人aaaaaaa做受| 亚洲大胆美女视频| 成人免费在线视频网站| 久久这里只有精品99| 91中文在线视频| 国产亚洲精品久久久优势| 精品国产999| 亚洲一区二区中文| 久久久久久成人精品| 亚洲一区二区三区777| 日韩成人av网址| 欧美综合在线观看| 欧美日韩一二三四五区| 国产免费一区二区三区香蕉精| 欧美高跟鞋交xxxxhd| 亚洲欧洲自拍偷拍| 国产美女精彩久久| 精品视频在线观看日韩| 日韩欧美精品免费在线| 亚洲欧美变态国产另类| 欧美日产国产成人免费图片| 91在线观看免费高清完整版在线观看| 久久久综合av| 亚洲aⅴ日韩av电影在线观看| 欧美激情精品久久久久久久变态| 国产精品老牛影院在线观看| 精品自拍视频在线观看| 国产精品91视频| 国产欧美日韩高清| 精品久久久中文| 精品爽片免费看久久| 91色视频在线观看| 日韩电影在线观看中文字幕| 韩国精品美女www爽爽爽视频| 亚洲欧美制服另类日韩| 国产在线98福利播放视频| 日韩成人在线电影网| 精品国产欧美成人夜夜嗨| 成人做爽爽免费视频| 日韩在线小视频| 精品国产一区二区在线| 日韩在线国产精品| 欧美乱大交xxxxx| 青青青国产精品一区二区| 亚洲午夜av久久乱码| 亚洲美女av在线播放| 国产精品久久久久久五月尺| 日韩禁在线播放| 国产精品成人va在线观看| 性金发美女69hd大尺寸| 在线播放亚洲激情| 91产国在线观看动作片喷水| 久久韩剧网电视剧| 色哟哟亚洲精品一区二区| 久久精品99国产精品酒店日本| 亚洲精品第一页| 欧美性xxxxx极品| 日本精品在线视频| 亚洲国产精品高清久久久| 最近的2019中文字幕免费一页| 一区二区三区日韩在线| 国产午夜精品久久久| 国产精品久久色| 中文字幕国产日韩| 欧美一级bbbbb性bbbb喷潮片| 日本韩国欧美精品大片卡二| 精品成人在线视频| 日韩在线精品视频| 国产精品草莓在线免费观看| 久久亚洲精品小早川怜子66| 欧美激情视频在线免费观看 欧美视频免费一| 日韩视频在线一区| 欧美中文在线字幕| 亚洲人成在线免费观看| 日韩成人av在线播放| 另类专区欧美制服同性| 欧美性生交大片免费| 久热爱精品视频线路一| 亚洲天堂网在线观看| 国产日韩在线免费| 国产欧美一区二区三区在线看| 91av免费观看91av精品在线| 久久777国产线看观看精品| 久久人人爽人人爽爽久久| 欧美久久久精品| 国产精品手机播放| 国产日本欧美视频| 91wwwcom在线观看| 狠狠躁夜夜躁人人爽天天天天97| 91夜夜未满十八勿入爽爽影院| 日韩高清免费在线| 亚洲最大激情中文字幕| 欧美日韩在线影院| 91视频国产一区| 欧美黑人巨大xxx极品| 色婷婷av一区二区三区久久| 亚洲国产精品999| 欧美精品www在线观看| 精品综合久久久久久97| 成人黄色av免费在线观看| 欧美激情久久久| 久久综合伊人77777蜜臀| 亚洲成人999| 色老头一区二区三区在线观看| 亚洲无限乱码一二三四麻| 91免费看片在线| 亚洲欧美日韩中文视频| 欧美亚洲成人精品| 三级精品视频久久久久| 国产精品极品美女粉嫩高清在线| 欧美亚洲日本黄色| 91国语精品自产拍在线观看性色| 久久久精品一区| 欧美中文在线观看国产| 亚洲精品成人av| 欧美日韩国产999| 日韩精品在线视频美女| 九九九久久久久久| 久久精品小视频| 久久综合久中文字幕青草| 国产综合福利在线| 国产美女高潮久久白浆| 91人成网站www| 欧美性猛交xxxx乱大交| 色久欧美在线视频观看| 欧美性生活大片免费观看网址| 久久91精品国产91久久跳| 欧美裸体xxxx极品少妇| 色综合老司机第九色激情| 国产成+人+综合+亚洲欧美丁香花| xxxx欧美18另类的高清| 亚洲国产高清自拍| 91夜夜未满十八勿入爽爽影院| 久久久久久亚洲精品中文字幕| 毛片精品免费在线观看| 日本aⅴ大伊香蕉精品视频| 国产日韩精品入口| 伊人一区二区三区久久精品| 成人看片人aa| 中文字幕亚洲欧美日韩高清| 欧美理论电影在线播放| 欧美视频二区36p| 亚洲女人天堂视频| 久热在线中文字幕色999舞| 最近2019年手机中文字幕| 欧美成人精品三级在线观看| 成人久久一区二区三区| 91国产一区在线| 在线观看国产欧美|