我想知道file_get_contents
对于没有SSL的密码是否安全。我在PHP中创建了一个管理面板,并使用此方法来代替SQL而不是密码。如果可能,请提供您的信息来源。
答案 0 :(得分:0)
将纯文本密码存储在文件中并使用file_get_contents
进行阅读会有效,但您的安全性会很低。更具体地说,它将冒着用户安全的风险。这是因为,即使他们不应该,他们中的一些人会重复使用服务中的密码,以及您可能也为他们保留的电子邮件地址。
考虑到这一点,您应该散列这些密码,而不是以纯文本形式保存它们。这意味着您将密码转换为无法撤消的表单,因此要检查密码,您还需要哈希用户在登录时输入的密码。这是一种聪明的方法,使得破解者很难弄清楚真正的密码究竟是什么,即使他们进入你的服务器并窃取了密码文件。
PHP中推荐的方法是使用password_hash
,其详细信息在PHP手册中。这个功能的优势在于它故意很慢,这使得潜在的攻击者更难以“暴力”猜测数百万个密码。
处理密码时,最好通过SSL使用Web服务器内的服务器证书来执行此操作。这使得MITM(中间人)攻击变得更加困难,这可能会在网络中传输密码。