为了账号安全,请及时绑定邮箱和手机立即绑定

怎样有效防止Cookie诈骗?

怎样有效防止Cookie诈骗?

PHP
呼啦一阵风 2019-03-12 18:10:19
初入ThinkPHP5.0 的坑,请问大神怎样有效防止Cookie的诈骗呢?之前使用Node搭建服务器的时候有同样的问题,只不过当时没时间探究下去,直接使用了Cookie中的属性HttpOnly = true 遇到的问题如下: 1. 使用HttpOnly可以有效防止JavaScript对Cookie的操作,但是在某些特定情况下,还是可以修改的,比如使用Chrome浏览器,可以在控制台双击Cookie实现修改 2. 如果使用SESSION,在Chrome的控制台中可以看见 "PHPSESSID" 类似的Cookie,使用其他浏览器,简单修改下Cookie,很容易实现Cookie诈骗 3. 服务器的用户登录如果使用cache写文件的方式记录用户的身份,也要确保是哪个用户登录的,之前想过用MAC码,但是好像获取不了 4. 如果通过获取用户的设备信息来确保Cookie的安全性,万一用户在浏览器中使用移动端视窗打开,这样子的用户设备是会改变的 曾经考虑过记录IP,但是IP不定的,无效果 直接点怎样可以让Cookie保证"唯一性",就是确保相同的cookie,只在原设备(使用帐号密码登录的设备)生效,即使是换了浏览器。 请问大神如果有效防止Cookie诈骗实现安全登录呢? 打个比喻,下图红线画的Cookie,可以通过其他浏览器 : document.cookie = "PHPSESSID = 对应的key值" 刷新一下就可以实现登录了,怎样有效防止这样的行为
查看完整描述

3 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

存放COOKIE的时候 存一个A 一个key=>value
后端存COOKIE的时候 自己用保密的私钥B 通过算法(B+key=>value) 得出A
把A和key=>value 同时存在客户端,使用的时候 也必须用同等的算法校验下数据合法性

查看完整回答
反对 回复 2019-03-18
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

应该信任客户端的。
不信任客户端的话,用token对应用户id,实现挤掉登陆状态功能,能满足需求不?

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 530 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信