手机版

Asp.net提交核查方案综合分析(一)

时间:2021-11-24 来源:互联网 编辑:宝哥软件园 浏览:

例如,验证码存储在页面代码或Cookies中,并向客户端公开;虽然安全问题是通过存储在Session中的验证码来解决的,但是用户只使用一个变量来存储验证码。如果用户同时打开多个页面并单独提交,则无法正常使用。验证码不会过期,会留下隐患,让蛮力破解可行(当然也可以通过刷新间隔、提交间隔、黑名单等方式控制);此外,还有一个问题,——,伴随着提交。为了解决以上问题,我走了很多弯路,后来总结出了一个能很好解决这些问题的方案。本文将结合ADO的实体框架技术介绍该方案。NET:这个方案的核心是通过数据库统一存储所有请求页面对应的验证码和相关信息(这个也可以通过Session或者别的什么来实现,不过我个人觉得数据库更好)。首先,创建一个名为“提交验证”的SQL Server数据表。

“ID”字段存储了用于查询的认证信息的唯一ID,我们还会将此值发送给客户端,以便在发回时再次获取相应的信息。GUID格式保证了唯一性和复杂性,客户端几乎没有伪造的可能。“会话标识”字段用于存储会话标识,以确保身份验证信息对应于用户会话。如果不在乎客户端是否会被劫持,也可以忽略这个字段。“验证码”字段存储验证码的原始文本,用于验证用户输入。此外,验证图片生成功能还通过ID获取该数据,生成相应的验证图片。“已提交”字段标识该验证信息是否已被使用。如果不需要给用户明确的错误提示,则可以在提交后直接删除已使用的验证信息,而无需使用此字段。清除超时信息时,将使用到期时间字段中的数据。数据库建立后,可建立ADO.NET实体框架数据模型:

该模型可以直接从现有数据库生成,无需任何额外的更改。接下来,本文将介绍数据结构和思想,并在下一篇文章中介绍代码实现和使用方法。

版权声明:Asp.net提交核查方案综合分析(一)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。