一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 安全校驗Session驗證碼并避免繞開驗證碼攻擊

安全校驗Session驗證碼并避免繞開驗證碼攻擊

2020-07-22 16:21編程貓 編程技術

校驗驗證碼的Session是否為空或者校驗用戶輸入的驗證碼是否合法,構造安全表單的關鍵就是永遠不要相信用戶的輸入

已經(jīng)記不得是在哪個網(wǎng)站上看到的了,一般情況下對于驗證碼的校驗,大家很容易寫成下面這樣:

復制代碼 代碼如下:


<%
If Request.Form("SecurityCode") = Session("SecurityCode") Then
' TODO : Database operations
Else
Response.Write "Security code incorrect!"
End If
%>


驗證碼圖片產(chǎn)生Session("SecurityCode")并保存正確的驗證碼值,然后獲得用戶提交的驗證碼值,然后兩個一比對如果一樣則表示驗證碼正確,否則驗證碼錯誤。表面上這樣的算法沒有什么問題,但是對于一種特殊情況則會讓驗證碼形同虛設。
首先我們知道,對于上面的算法有個核心的地方就是我們要訪問產(chǎn)生驗證碼圖片的那個文件才會有個保存驗證碼值的Session,然后才能對用戶的輸入進行正確的比對,假如有心人構造一個繞開驗證碼圖片文件的Form然后進行提交會得到什么呢?Session("SecurityCode")不存在為空,如果此時用戶驗證碼什么都不輸入,這時驗證碼校驗就形同虛設了。好,這里利用漏洞攻擊的關鍵就是驗證碼的Session,我們很容易就能夠讓服務器不產(chǎn)生這個Session從而使這樣的攻擊變成可能。
解決的方法也很容易,校驗驗證碼的Session是否為空或者校驗用戶輸入的驗證碼是否合法,構造安全表單的關鍵就是永遠不要相信用戶的輸入。下面采用校驗驗證碼Session和用戶輸入的雙保險辦法解決這個安全問題:

復制代碼 代碼如下:


' str為要校驗的驗證碼,len為驗證碼長度
Function IsSecurityCodeValid(str, len)
IsSecurityCodeValid = Not CBool( _
IsEmpty(str) Or CStr(str)="" Or Len(str)<len)
End Function
If IsSecurityCodeValid(Request.Form("SecurityCode"), 4) AND _
IsSecurityCodeValid(Session("SecurityCode"), 4) AND _
Request.Form("SecurityCode") = Session("SecurityCode") Then
' TODO : Database operations
Else
Response.Write "Security code incorrect!"
End If

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人和男人搞基 | tube4欧美4| 国产精品久久久久久久久久久搜索 | 国模孕妇季玥337p人体 | 湿好紧太硬了我太爽了 | 国产精品99久久免费观看 | 欧美亚洲国产一区二区三区 | chinses台湾男同志hd | 日日射视频 | 师尊被各种play打屁股 | 日本三级斤 | 数学老师扒开腿让我爽快 | 欧美交换乱理伦片120秒 | 日韩欧美色图 | 精品国产香蕉 | 男女性刺激爽爽免费视频 | 精品女同同性视频很黄很色 | 波多野结衣在线观看视频 | 黄 在线播放| 四虎影院久久久 | 亚洲四虎永久在线播放 | 91尤物在线| 国产欧美日韩精品一区二区三区 | 草莓香蕉绿巨人丝瓜榴莲污在线观看 | 精品免费视在线视频观看 | 久久这里只有精品视频9 | 国产在线观看91精品一区 | 久久精品热只有精品 | 亚洲成人一区二区 | 处女呦呦| 久久se视频精品视频在线 | 色戒完整版2小时38分钟 | 边摸边吃奶又黄激烈视频韩国 | 1986葫芦兄弟全集免费观看第十集 | 午夜综合网 | 日产乱码2021永久手机版 | 日韩aⅴ在线观看 | 26uuu久久| 青草免费在线 | 亚洲欧美在线免费 | 贵妇的私人性俱乐部 |