我想知道file_get_contents
对于没有SSL的密码是否安全。我在PHP中做了一个管理面板,并有这个方法的密码,而不是SQL。如有可能,请提供信息来源
将纯文本密码存储在文件中并使用file_get_contents
读取它将工作,但您的安全性将较低。更具体地说,它会危及用户的安全。这是因为,即使他们不应该,他们中的一些人会跨服务重用密码,连同你可能也为他们保留的电子邮件地址。
考虑到这一点,您应该对这些密码进行散列处理,而不是以明文形式保存它们。这意味着您将把密码转换为无法逆转的表单,因此为了检查密码,您还需要对用户在登录时输入的密码进行散列处理。这是一种聪明的方法,使破解者很难找出真正的密码,即使他们进入你的服务器并窃取密码文件。
在PHP中推荐的方法是使用password_hash
,详细信息在PHP手册中。这个函数的优点是它故意很慢,这使得潜在的攻击者更难以"暴力破解"猜测数百万个密码。
当处理密码时,通过SSL也是一个好主意,在你的web服务器中使用服务器证书。这使得MITM(中间人)攻击更难发生,这种攻击可以在网络传输中窃取密码。