我想创建一个只包含用户用户名的cookie。我希望我们的登录表单记住用户名(如果用户选择),但他们每次都必须输入密码。
在cookie中使用用户名是否有任何风险?用户名是否应该加密?
建议?
答案 0 :(得分:3)
虽然这不是最好的事情,但问题的答案是 您可以在cookie中加密和存储用户名,在运行时读取和解密
加密:
base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($username), $salt, MCRYPT_MODE_CBC, md5(md5($username))));
DECRYPT
rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($username), base64_decode($salt), MCRYPT_MODE_CBC, md5(md5($username))), "\0");
答案 1 :(得分:2)
只要该cookie永远不会授予用户权限,从安全角度来看就没问题。 Cookie很容易被欺骗,因此您不希望手动创建的Cookie允许某人访问网站的安全部分。
它确实会向碰巧看到cookie jar的人暴露一些可嗅探的数据,这对您和/或您的用户来说可能是重要的,也可能不重要。
答案 2 :(得分:0)
我见过系统,例如Moodle这样做。所以这并不罕见。 这样做会带来风险,但像这样的网站上的选项已经变得很普遍了。