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

首頁 > 編程 > regex > 正文

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

2020-01-20 22:09:02
字體:
來源:轉載
供稿:網友

寫在前面的話

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

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

定界符”^$”缺失bug

<?php///檢測用戶名,只能是字符加數字 $user="chengmo8"; if(!preg_match("<strong>/[0-9a-zA-Z]+/</strong>",$user)){	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個字符了。說這么些,其實就是因為,很多朋友在使用方括號字符時候,經常會弄錯特殊字符。

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线小视频| 亚洲最大av在线| 在线亚洲国产精品网| 欧美激情一级欧美精品| 国产精品自拍偷拍| 91国产美女视频| 岛国av午夜精品| 日韩中文娱乐网| 国产精品va在线| 国产精品一区二区三区久久| 不用播放器成人网| 一本大道香蕉久在线播放29| 亚洲精品国产电影| 在线视频欧美性高潮| 庆余年2免费日韩剧观看大牛| 国产99久久久欧美黑人| 国产97在线|亚洲| 国产在线98福利播放视频| 韩国视频理论视频久久| 亚洲成av人乱码色午夜| 在线观看亚洲区| 91麻豆国产精品| 91探花福利精品国产自产在线| 国产精品美女久久| 高清欧美电影在线| 国产精品吊钟奶在线| 欧美激情中文字幕在线| 欧美日韩国产在线看| 亚洲美女福利视频网站| 欧美最顶级丰满的aⅴ艳星| 亚洲经典中文字幕| 欧美日韩亚洲网| 日韩av在线一区二区| 久99久在线视频| 大桥未久av一区二区三区| 在线成人激情视频| 国产一区二区三区在线看| 国产成人精品久久亚洲高清不卡| 国产主播喷水一区二区| 国产精品一二三在线| 日韩免费在线播放| 欧美一级视频在线观看| 国产精品久久国产精品99gif| 久久亚洲一区二区三区四区五区高| 国产精品久久久久免费a∨| 欧美黑人性生活视频| 九九热最新视频//这里只有精品| 国产精品日日摸夜夜添夜夜av| 欧美电影《睫毛膏》| 国产一区二区久久精品| 国产一区二区美女视频| 国产午夜精品全部视频在线播放| 国产精品久久91| 亚洲天天在线日亚洲洲精| 国产精品久久久久久久一区探花| 欧美电影在线观看网站| 久久久久久一区二区三区| 啊v视频在线一区二区三区| 丝袜美腿亚洲一区二区| 国产精品嫩草影院久久久| 亚洲电影免费观看高清完整版在线| 国产男人精品视频| 国产一区欧美二区三区| 国产精品第七影院| 日韩在线免费视频观看| 中文字幕综合一区| 亚洲国产欧美一区二区三区同亚洲| 国产在线日韩在线| 91国内揄拍国内精品对白| 国产精品久久久久久久久久东京| 国产色综合天天综合网| 国产精品福利无圣光在线一区| 亚洲乱亚洲乱妇无码| 97国产一区二区精品久久呦| 最近2019好看的中文字幕免费| 91欧美激情另类亚洲| 午夜欧美大片免费观看| 丝袜亚洲欧美日韩综合| 国产在线拍偷自揄拍精品| 91久久综合亚洲鲁鲁五月天| 久久99久久99精品免观看粉嫩| 欧美黄色性视频| 日韩网站免费观看高清| 69av在线播放| 色中色综合影院手机版在线观看| 精品女厕一区二区三区| 欧美精品久久久久久久久久| 日韩视频在线免费观看| 欧美野外猛男的大粗鳮| 免费97视频在线精品国自产拍| 国产丝袜视频一区| 国产亚洲欧洲黄色| 精品久久久久久久久久| 日韩一区二区久久久| 久久高清视频免费| 秋霞成人午夜鲁丝一区二区三区| 夜夜嗨av一区二区三区四区| 欧美日韩另类在线| 91亚洲一区精品| 国产精品91一区| 精品久久香蕉国产线看观看亚洲| 亚洲免费视频观看| 97视频在线观看视频免费视频| 91在线免费视频| 亚洲自拍在线观看| 欧日韩在线观看| 精品国产精品自拍| 亚洲激情自拍图| 国产成人精品久久久| 亚洲欧美国产一区二区三区| 在线视频欧美日韩| 日本一区二区在线播放| 欧美日韩免费网站| 日韩亚洲国产中文字幕| 久久精品国产电影| 国产精品成人国产乱一区| 一本色道久久88综合亚洲精品ⅰ| 狠狠躁夜夜躁人人爽超碰91| 国产盗摄xxxx视频xxx69| 欧美成年人视频网站欧美| 精品中文字幕在线2019| 美女少妇精品视频| 久久久久www| 精品一区二区三区四区| 欧美一区二区影院| 国产精品三级美女白浆呻吟| 亚洲精品一区中文字幕乱码| 97久久精品人人澡人人爽缅北| 91在线视频一区| 中文字幕在线日韩| 欧美成人激情图片网| 亚洲欧美日韩在线一区| 日韩免费电影在线观看| 福利一区视频在线观看| 日韩中文字幕亚洲| 欧美成人午夜免费视在线看片| 久久久久久国产精品三级玉女聊斋| 热久久免费视频精品| 久久99视频免费| 91大神福利视频在线| 国产精品88a∨| 欧美精品第一页在线播放| 国外日韩电影在线观看| 国产精品免费福利| 久久久久女教师免费一区| 2019最新中文字幕| 黄色成人在线播放| 日韩中文在线中文网三级| 精品五月天久久| 精品网站999www| 欧美乱人伦中文字幕在线| www.午夜精品| 国产v综合ⅴ日韩v欧美大片| 91chinesevideo永久地址| 5566成人精品视频免费| 久久久影视精品| 欧美极品欧美精品欧美视频| 91在线观看免费高清完整版在线观看| 欧美与欧洲交xxxx免费观看| 欧美成人在线影院| 欧美一级大片视频| 亚洲成人精品久久久| 97视频免费看| 91九色综合久久|