初入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 回答
- 0 关注
- 545 浏览
添加回答
举报
0/150
提交
取消