C#安全Cookie的设计开发
上网查证,得知在系统默认的配置文件中已经存在默认的名为LocalSqlServer的数据库连接字符串,因此,需要加入<clear />标记来忽略系统默认值,使用自定义的连接字符串。
在对Cookie的加密过程中,使用FormsAuthentication.Encrypt方法加密票据,但是对其加密过程和加密解密所用的算法却不清楚,于是查询资料,得知FormsAuthentication.Encrypt方法所用的加密解密方法需要在Web.config文件中添加machineKey节点来设置密钥和算法。
选择客户端特征信息时,起先只选用了MAC地址作为特征参数,在调试过程中,发现某些时候,如客户端安装有网络防火墙软件,程序并不能够获取客户端的MAC地址信息,所以最终选择使用IP地址作为候选特征,问题解决。
经过以上各个具体步骤的实施,完成了系统实现。采用的系统模型准确的描述了安全Cookie的各个特性,通过使用ASP.NET身份票据加密方法实现了“机密性”和“完整性”二个问题,使用MAC/IP地址绑定Cookie实现了“可鉴别性”方面的问题,因此模型合理;在设计上采用ASP.NET的网站架构,充分利用了ASP.NET的特性,使用简单的代码实现了所需求的功能,无论在效率上还是在安全性方面都是很好的;实现系统模型后,使用安全检测工具对模型进行完整的测试,结论与理论上是完全相符的,因此,本系统的实现是成功的,达到了设计的预期目标。
本模型的具体运行状态可以归纳如下,用户从登陆界面登陆并选择下次自动登陆,即保存Cookie,通过用户名和密码校验后进入授权页面,下次进入同一网站时,网站读取用户的Cookie,并对Cookie信息进行3重检验,根据Cookie判断是否可以访问授权页面。
对于系统的具体运行结果及分析,在第五章中详细介绍,可以直观的看到各种模型的对比及优劣分析。
如图
图
如图
图
如图
图
如图
图
使用IECookiesView工具将Cookie1.d下生成的Cookie中的用户名“dsz”更改为“admin“,如图
若图片无法显示请联系QQ752018766,C#安全Cookie的设计开发系统免费,转发请注明源于www.youerw.com
图
用记事本打开修改后的Cookie1.d文件administrator@Cookie1[1].txt,可以看到用户名被修改成为“admin”,如图
图
重新打开浏览器输入网址http://Cookie1.d,发现Cookie值已经变成“admin”,可见明文Cookie系统的Cookie值确实可以修改,如图
图
在工作站二中打开Cookies & Inject Browser工具,该工具除了可以浏览网页之外,还可以修改发送到服务器的Cookie信息,本设计中使用该工具来将工作站一中的Cookie从工作站二中发送到服务器,从而来测试Cookie的安全性。首先打开http://Cookie1.d,显示登陆页。如图
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>