PHP - 在cookie中存储密码是否安全?

Jay*_*Jay 2 php

可能重复:
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或某种临时值?

"商店"和"密码"是两个应该很少一起使用的词,当它们使用时应该仔细检查.

  • 同意。您想存储一个盐渍散列或 * 一些你知道并且可以很容易地重新计算但不容易被猜到的东西。在登录时使用带有您最喜欢的数学老师姓名和月相的时间戳同样有效(并且*方式*风险更低)。 (2认同)

Mic*_*ski 7

如果某人访问了cookie,即使它已经过哈希处理,他们也会拥有与您的网站用户相同的访问权限,直到Cookie过期为止.即使它过期后,除非服务器上的密码已更改,否则仍可使用相同的散列值进行登录.

如果您希望允许他们在不登录的情况下再次访问密码,而不是存储密码,请设置一个cookie,其中包含与其用户帐户一起存储的其他随机令牌值.在每个页面访问和表单提交时,您可以重新生成并存储新的随机令牌,并将cookie重置为新值.这样,存储的值会不断变化,因此如果恶意用户在传输过程中获得了cookie,那么它可能已经在他们能够使用它时发生了变化.

最后,如果您要存储以后登录的任何值,您应该通过SSL执行此操作并仅通过SSL发送cookie.