保护密码更改表单

时间:2017-08-14 14:01:07

标签: php security hash bcrypt change-password

当管理员手动更改用户密码时,他们需要在HTML输入中键入(或生成)密码,然后将其提交给PHP。

我如何确保用于安全密码的输入,这意味着特殊/ html字符,例如'>','#',' <'等。

以前,我用过:

<?php htmlspecialchars(strip_tags($password)) ?>

但这是将密码更改为其他内容,我猜测字符实体格式 - 由于通过bcrypt进行单向散列,我无法看到它改变了什么。

编辑:例如,当我检查上述代码的输出时,这是密码*62mA<Edq<Kfx)3y,它将其输出到*62mA

由于

1 个答案:

答案 0 :(得分:4)

没有一般目的&#34;使这些数据对每种情况都安全&#34;工具。您需要使用适当的情况转义。

不要使用strip_tags等破坏性功能。

如果您想将其放入HTML文档中:执行使用htmlspecialchars

如果要将其放入SQL数据库:执行使用预准备语句。

如果您想将其添加到JavaScript中:执行使用json_encode

...等......等等。

处理数据的解析器将解码任何转义字符。

那说...... 不要存储密码。 执行 Hash passwords执行 Protect passwords