Php cookie中的用户名

Php cookie中的用户名,php,security,cookies,Php,Security,Cookies,我想创建一个只有用户用户名的cookie。我希望我们的登录表单记住用户名(如果用户选择),但他们每次都必须输入密码 在cookie中只包含用户名有风险吗?用户名上应该有任何类型的加密吗 建议?虽然这不是最好的做法,但你的问题的答案是 您可以在cookie中加密和存储用户名,并在运行时读取和解密 加密: base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($username), $salt, MCRYPT_MODE_CBC, md5(md5(

我想创建一个只有用户用户名的cookie。我希望我们的登录表单记住用户名(如果用户选择),但他们每次都必须输入密码

在cookie中只包含用户名有风险吗?用户名上应该有任何类型的加密吗


建议?

虽然这不是最好的做法,但你的问题的答案是 您可以在cookie中加密和存储用户名,并在运行时读取和解密

加密:

base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($username), $salt, MCRYPT_MODE_CBC, md5(md5($username))));
解密

rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($username), base64_decode($salt), MCRYPT_MODE_CBC, md5(md5($username))), "\0");

我见过这样的系统。因此,这并不罕见。这样做是有风险的,但是像这样的网站上的选项已经变得很常见了。

只要cookie从未授予用户权限,从安全角度看就可以了。Cookie很容易被欺骗,因此您不希望手动创建的Cookie允许某人进入站点的安全部分


它确实会将一些可嗅探的数据暴露给碰巧看到cookie jar的任何人,这可能对您和/或您的用户来说并不重要。

如果用户从公共计算机使用,您可以这样做。为什么在使用mcrypt函数时会抛出错误?我使用的是PHP版本5.2.6-致命错误:调用未定义的函数mcrypt_encrypt()。cookie的唯一用途是在登录时填充用户名输入框。它将不用于以任何方式、形状或形式进行身份验证。