天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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


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

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

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

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

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

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


此模型從現有數據庫直接生成即可,不需要做什么額外改動。未完待續,此篇中介紹了數據結構和思路,在下篇中將介紹代碼實現以及使用方法。

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

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

主站蜘蛛池模板: 国产成人拍精品免费视频爱情岛 | 动漫美女被羞羞动漫怪物 | 国产一区二区三区四区五在线观看 | 高清国产一区 | 手机在线成人精品视频网 | 国产超碰精久久久久久无码AV | 俄罗斯aaaaa一级毛片 | 国产品无码一区二区三区在线 | 美女脱18以下禁止看免费 | 91久久夜色精品 | 星空无限传媒视频在线观看视频 | 亚洲精品偷拍影视在线观看 | 国产高清视频在线观看不卡v | 男污女XO猛烈的动态图 | 国产超碰人人爱被IOS解锁 | 日本中文一区 | 麻花豆传媒剧国产免费mv观看 | 久久天天躁狠狠躁夜夜呲 | 国产午夜精品久久理论片 | 2021国产精品久久久久精品免费网 | 午夜亚洲动漫精品AV网站 | 精品精品国产自在现拍 | 快播萝莉影院 | 嗨嗨快播电影 | 蜜芽在线播放免费人成日韩视频 | 日韩欧美视频一区二区 | 国产精品久久久久影院 | 姉调无修版ova国语版 | 国产精品人妻一区免费看8C0M | 亚洲AV无码一区二区三区乱子伦 | 日本一卡二卡三卡四卡无卡免费播放 | 91九色网址 | 97国产在线观看 | 成年视频xxxxxx在线 | 99国内精精品久久久久久婷婷 | 国产GV天堂亚洲国产GV刚刚碰 | 97色伦97色伦国产 | 国产亚洲欧美高清在线 | 久久久久久久久女黄9999 | YY6080A旧里番在线观看 | 伊人久久久久久久久香港 |