如果用户可以注册并登录,我正在制作我的第一个完整网站。以下 cookie 是否安全?我需要一个更具体的随机代码来代替用户名或密码吗?
setcookie("username", "$username", time()+3600);
setcookie("password", "$password", time()+3600);
有人可能会从您的用户浏览器中窃取 cookie 文件并访问他的用户名/密码,您不希望这样。因此,您给用户一些随机的 auth-token(会话 id)并将服务器端的用户与包含登录信息的数据集相关联。PHP 已经内置了该功能。
所以你应该改用php的会话引擎。 http://de3.php.net/manual/en/book.session.php
它还可以处理如果您的浏览器不支持 Cookie 会发生什么问题。
如果用户想记住他们的登录名和密码以自动登录,则应该使用它。如果不使用会话。
并且密码应该被编码。永远不要存储别人直接输入的密码! 如果您的密码经过编码是安全的,例如:
md5('my_password');
使用这种编码,无法解密密码,因为它与无限的值相关联。
当您比较两个密码以查看是否相同时,当两个密码都被编码时
是的,它们是安全的,因为它们仅特定于计算机/浏览器。(曲奇饼干)。
时间很好,因为它们会在一个小时后自动删除。
是的,为 cookie 的 ID 指定一个更随机的代码而不是“用户名”和“密码”,例如“(nameofsite)usern”和“(nameofsite)pas”,作为名称为“用户名”和“密码”可能会干扰来自另一个网站的用户计算机/浏览器上已经存在的 cookie。
我假设您在提交密码时已经对其进行了编码。