简单解释一下,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加密,这些东西以后有时间再讲吧。写这篇文章的目的就是想说,现在真的很多网站的安全性不够好,作为程序员和设计师我们有责任和义务让我们的网站更加安全和靠谱