php如何保存cookie登录状态的安全性

时间:2016-07-24
web是基于HTTP协议传输的,明文传输是极其危险的,随便哪个抓包工具分析下数据包,因此我们有必要研究一下cookie登录的安全性。本文章向大家介绍php如何保存cookie登录的状态安全性,需要的朋友可以参考一下。

php如何保存cookie登录的状态安全性

我们知道web是基于HTTP协议传输的,明文传输是极其危险的,随便哪个抓包工具分析下数据包,就over啦,一个加密的传输过程应该包括两部分,一部分为身份认证,用户鉴别这个用户的真伪;另外一部分为数据加密,用于数据的保密。


我大概是这样做的:

(1)生成用户验证token
    用户登录后我会生成一个token,该token可能由如下信息组成:username+ip+expiration+salt【只是举例】,然后将组成信息用可逆加密函数加密得到token,并将该token保存到数据库,写入cookie;

(2)最后这样去校验信息,判断用户的登录状态
    将token解密,验证用户username,如果存在,继续;然后验证token是否和存入数据库的token相同,如果相同继续;验证cookie的有效期expiration,如果有效继续;验证ip是否变化,若变化跳入登录。。。。。。甚至还可以验证user agent.
 

(3)可以做到单终端登录,可以将token放到数据库,每次登录操作必然会改变token的值,另外一端的用户就会token验证失败下线
 

最后说明:

1.上面保证了token每次登录都会不一样,这回导致之前的token【既cookie】失效

2.cookie的有效期最好不超过一周

上一页 下一页

原文地址:http://www.manongjc.com/article/1258.html