防止cookies欺骗--相关解决方案

一、网络上提供的解决方案
1、
最简单的是给Cookies加个加密算法。
保险点的是给Cookies加个时间戳和IP戳,实际就是让Cookies在同个IP下多少时间内失效。

2、
实际上是这样的,不管cookies里保存了多少个字段,最后,还要增加一个验证字段,或者称为MAC码。这个码是使用上面所有字段的内容合算出来的摘要再用一种加密算法,如3DES等使用服务器的主密钥进行加密。 这样,在从cookies得到数据后,再判断一下这个MAC码就可以知道整个cookies字段是否被篡改过。

3、
我的个人意见:(想过,正准备用上)
response.COOKIES("LOGIN")("MD5COOKIES")=MD5(服务器IP&客户IP&客户ID) ///等等,看着办吧。
然后 if MD5(服务器IP&客户IP&客户ID)<>request.COOKIES("LOGIN")("MD5COOKIES") then 立即清除全部COOKIES end if
补充:上面我写的那个,客户IP不能带上。我想可以改用网卡的MAC或硬盘的SN码。

4、
做项目的时候研究了一下,理论上应该是杜绝了cookies欺骗,我的做法如下: 
自己做session,不用服务器的session功能,大网站都是这样做的,还可以做到session 
跨站。 
用户第一次访问站点的时候,程序产生一个随机sessionID,然后以cookies的方式发给客户端, 
然后将该md5(sessionID+加上该客户断信息(如IP,端口等))和状态信息一起存入数据库, 
这样就算cookies被盗,也有99%的把握不被欺骗。

5、
要防止这个,在写网页的时候就不要相信cookies,例如用户登陆时,记录用户的账号和密码到cookies里,其他叶面就不能直接使用这个cookies,特别是数据库操作,每个叶面都要把cookies与数据库中的用户名和账号对照,如果不吻合,就清空cookies,按非会员操作,即使吻合,进行数据库操作时也要检查字段,阻断注入。

6、
参考动网防Cookies欺骗,利用动态密码与Session+Cookies双重验证


二、自己最终解决方案
username ip rndcode,分别为用户名、ip、随机码,数据库中多添加两个字段,分别为当前登录ip、随机码
实现原理:
(1)、加密不可逆,cookies被获取后不起作用,其中ip在起着重大作用
(2)、暴力破解成功,ip换成自己机器的,可正常访问,但前提是此用户一直未登录过,否则数据库中随机码大显身手
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值