一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

較為全面的Asp.net提交驗證方案分析 (上)

比如:
驗證碼存儲在頁面代碼或Cookies里,暴露給客戶端;
通過Session存儲的驗證碼,雖然解決了安全問題,但一個用戶只使用一個變量存儲驗證碼,假如用戶同時打開一個以上的頁面,分別提交的話,就無法正常使用了;
驗證碼不會過期,這會留下隱患,使暴力破解變得可行(當(dāng)然也可以通過刷新間隔、提交間隔、黑名單等手段加以控制);
此外還有伴隨著提交產(chǎn)生的另一個問題――重復(fù)提交。
為解決上述問題,我曾走過不少彎路,后來總結(jié)出了一個方案可以很好的解決這些問題,本文將結(jié)合ADO.NET Entity Framework技術(shù)來介紹此方案:
這方案的核心就是通過數(shù)據(jù)庫統(tǒng)一存儲所有請求頁面所對應(yīng)的驗證碼及其相關(guān)信息(這也可以通過Session或別的什么實現(xiàn),但個人感覺數(shù)據(jù)庫更為優(yōu)秀)。
首先來建立一個這樣的SQL Server數(shù)據(jù)表,表名設(shè)為“提交驗證”:


ID”字段存儲的是該驗證信息的唯一ID,用于查詢,并且我們還會將此值傳給客戶端用于回發(fā)時再度獲取對應(yīng)的信息,采用GUID格式保證了唯一性和復(fù)雜性,客戶端幾乎沒有偽造的可能;

“會話ID”字段即用于存儲SessionID,以確保驗證信息與用戶會話相對應(yīng),如果你不在意客戶端是否會被劫持的話,也可以忽略這個字段。

“驗證碼”字段即存儲驗證碼原文,用于檢驗用戶輸入,此外,驗證圖片生成函數(shù)也會通過ID獲取此數(shù)據(jù)以生成對應(yīng)的驗證圖片。

“是否已提交”字段標識此驗證信息是否已使用過,如果不需要給用戶明確的錯誤提示的話,可以在提交后直接刪除所使用的驗證信息,而不使用這個字段。

“過期時間”字段的數(shù)據(jù)將會在清理超時信息時使用到。

數(shù)據(jù)庫建好后,就可以建立ADO.NET Entity Framework數(shù)據(jù)模型(EDM)了:


此模型從現(xiàn)有數(shù)據(jù)庫直接生成即可,不需要做什么額外改動。未完待續(xù),此篇中介紹了數(shù)據(jù)結(jié)構(gòu)和思路,在下篇中將介紹代碼實現(xiàn)以及使用方法。

AspNet技術(shù)較為全面的Asp.net提交驗證方案分析 (上),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 五月婷婷开心 | 91华人在线视频 | 好吊妞精品 | 真实乱视频国产免费观看 | 性做久久久久 | 黑人美国一级一级爰片 | 久久精品中文字幕第一页 | 日日噜噜夜夜狠狠tv视频免费 | 国产精品成人第一区 | 欧美成人午夜视频 | 国产成人精品精品欧美 | 伊人激情久久综合中文字幕 | 一区二区免费在线观看 | 一区二区三区高清视频在线观看 | 六月婷婷视频 | 免费观看欧美成人1314w色 | 久久青草视频 | 免费人成综合在线视频 | 欧美夜色 | 91亚洲视频在线 | 国产一区在线观看免费 | 九九九九九九精品免费 | 丁香综合在线 | 国产成人福利免费观看 | 在线一区免费视频播放 | 国产对白91色拍高清精品 | 国产成人91激情在线播放 | 久久视热这只是精品222 | 亚洲另类图片专区 | 成人综合婷婷国产精品久久免费 | 日产精品一区二区免费 | 337q日本大胆欧美人术艺术 | 国产精品吹潮香蕉在线观看 | 亚洲影视在线观看 | 美国毛片亚洲社区在线观看 | 亚洲欧美日韩在线精品一区二区 | 欧美a级网站| 国产高清一区二区三区四区 | 米奇777四色精品人人爽 | 91在线播 | 亚洲精品视频二区 |