cookies安全问题

首先选择firefox浏览器,同学在他的电脑上用firefox登陆了博客园的网站,关闭后,将C:\Users\bright\AppData\Roaming\Mozilla\Firefox\Profiles\r7w7o3uz.default文件夹下的cookies.sqlite文件发送给我,我用这个文件替换掉我的相对目录下的同名文件,再次登陆博客园,OK,我就是用我同学的帐号登录的了。其实类似的方法稍微改进一下就可以进行大量的破坏动作,只要你能够拿到别人的cookies信息,你就可以伪造80%的网站的认证,用别人的帐号进行登录,这是为何?

  简单解释一下,http是无状态的,也就是说这一次请求和响应结束之后,我不记得你,你也不记得我,我们之间不再有任何联系。但是我们的网站却要求我们的服务器上能够记录下来谁访问过,谁已经验证过,这样在一段时间内当他再次进行操作的时候可以省去验证的步骤,因此服务器一定要能够记住客户端的信息,怎样实现呢?就是通过Session和Cookies。当一个用户登录并且通过验证之后,就会在服务器上创建一个对应的Seesion,服务器端的Session通过id与客户端的cookies相互对应,这样就把客户端和服务器端之间的状态连接起来了。任何需要记录的状态都可以放在session和cookies里面。当客户端发送请求的时候,其中会包含了cookies的信息,那么服务器接收到请求之后通过cookie的id来找到对应的session,从而知道你的用户名是否已经通过了验证,以及一些相应的信息。因此,只要能够拿到别人的cookie,就可以伪造成别人进行登录。而在现在的网络环境下,拿到别人的cookies并不是一件非常难的事情。

  所以才会有了HTTPS和SSL这些东西帮助对cookies进行保护,防止别人伪造cookies进行破坏,我们经常可以看到银行的网站登录的时候URL地址栏上是这样的:

前面的绿色标志就表示这是采用的HTTPS协议和SSL加密的,因此不存在别人可以通过伪造你的cookie来进行登录的情况,关于HHTPS协议和SSL加密,这些东西以后有时间再讲吧。写这篇文章的目的就是想说,现在真的很多网站的安全性不够好,作为程序员和设计师我们有责任和义务让我们的网站更加安全和靠谱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值