Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录cookies安全_Php_Security_Cookies_Login - Fatal编程技术网

Php 登录cookies安全

Php 登录cookies安全,php,security,cookies,login,Php,Security,Cookies,Login,我正在制作我的第一个完整的网站,用户可以注册和登录。以下cookies安全吗?我是否需要一个更具体的随机码来代替用户名或密码 setcookie("username", "$username", time()+3600); setcookie("password", "$password", time()+3600); 是的,它们是安全的,因为它们只针对计算机/浏览器。(饼干) 时间很好,因为它们会在一小时后自动删除 是的,为Cookie的ID指定一个更随机的代码,而不是“用户名”和“密码”,

我正在制作我的第一个完整的网站,用户可以注册和登录。以下cookies安全吗?我是否需要一个更具体的随机码来代替用户名或密码

setcookie("username", "$username", time()+3600);
setcookie("password", "$password", time()+3600);

是的,它们是安全的,因为它们只针对计算机/浏览器。(饼干)

时间很好,因为它们会在一小时后自动删除

是的,为Cookie的ID指定一个更随机的代码,而不是“用户名”和“密码”,例如“(网站名称)usern”和“(网站名称)pas”,因为名称为“用户名”和“密码”的Cookie可能会干扰用户计算机/浏览器上其他网站的Cookie


我假设您已经在提交密码时对其进行了编码。

有人可能会从您的用户浏览器中窃取cookie文件并访问他的用户名/密码,您不希望这样。因此,给用户一些随机身份验证令牌(会话id),并将服务器端的用户与包含登录信息的数据集相关联。 Php已经内置了该功能

因此,您应该使用php的会话引擎。


它还可以解决浏览器不支持cookie时出现的问题。

如果用户希望记住他们的登录名和密码以自动重新登录,则应该使用它。如果没有,请使用会话

密码应该被编码永远不要存储某人直接键入的密码 如果您的密码已编码,则是安全的,如:

md5('my_password');
使用这种编码无法解密密码,因为它链接到无穷多个值


当您比较两个密码是否相同时,如果两个密码都已编码,则执行此操作

您是否有特定的理由直接设置cookie而不是使用php的会话功能?“将纯文本密码放在线路上和客户端的文件中是否安全?”-不,不是真的。因此,你根本不应该存储明文密码。停止你正在做的事情。使用session_start()和$_sessionsuper global。感谢您及时提供的帮助。另外,根据Mat的评论,您不应以明文形式存储密码。您应该散列密码(例如SHA1)并将散列存储在服务器上。如果在cookie中存储密码是一个不好的主意,则使用salt和hash。MD5被视为已损坏,不应用于加密目的。它已损坏,但它是单向加密,因此对于密码,MD5中显示了各种缺陷。有那么多更好、更容易使用的散列函数,那么你到底为什么要继续使用/推荐MD5呢?因为在for password中,我认为它仍然是100%安全的,但是在PHP中,还有什么其他可用的散列函数那么容易使用呢?bcrypt可以说是PHP中安全散列密码的最佳方法之一,而且相当容易实现。MD5等散列的一个问题是,它们是为提高速度而设计的,使得攻击者更容易发动离线暴力攻击。以下内容可能对您有用: