可能重复:
PHP在cookie中存储密码
在登录系统中,如果用户想要保持登录状态,则需要将密码存储在浏览器cookie中.我之前经历过很多关于SO的问题,并发现将密码存储在浏览器cookie中并不安全.我想知道我是否喜欢
$string = 'snfcikkfbnvekrew';
$salt = md5($passwrod.$string);
$password = md5(sha1(md5("$salt$string$salt"))); //or some other random sequence of encryption functions
Run Code Online (Sandbox Code Playgroud)
我只是想知道如果有人访问cookie会发生什么样的攻击?
Dav*_*vid 10
为什么需要将密码存储在cookie中?为什么不使用其他一些用户标识符,例如内部用户ID或某种临时值?
"商店"和"密码"是两个应该很少一起使用的词,当它们使用时应该仔细检查.
如果某人访问了cookie,即使它已经过哈希处理,他们也会拥有与您的网站用户相同的访问权限,直到Cookie过期为止.即使它过期后,除非服务器上的密码已更改,否则仍可使用相同的散列值进行登录.
如果您希望允许他们在不登录的情况下再次访问密码,而不是存储密码,请设置一个cookie,其中包含与其用户帐户一起存储的其他随机令牌值.在每个页面访问和表单提交时,您可以重新生成并存储新的随机令牌,并将cookie重置为新值.这样,存储的值会不断变化,因此如果恶意用户在传输过程中获得了cookie,那么它可能已经在他们能够使用它时发生了变化.
最后,如果您要存储以后登录的任何值,您应该通过SSL执行此操作并仅通过SSL发送cookie.
| 归档时间: |
|
| 查看次数: |
8630 次 |
| 最近记录: |