【发布时间】:2018-01-22 09:33:14
【问题描述】:
当管理员手动更改用户密码时,他们需要将密码输入(或生成)到 HTML 输入中,然后提交给 PHP。
我将如何保护用于安全密码的输入,这意味着特殊/html 字符,例如“>”、“#”、“
以前,我用过:
<?php htmlspecialchars(strip_tags($password)) ?>
但这是将密码更改为其他内容,我猜是字符实体格式 - 由于通过 bcrypt 进行单向哈希,我也看不到它正在更改什么。
编辑:例如,这是一个密码*62mA<Edq<Kfx)3y,当我检查上述代码的输出时,它会输出到*62mA
谢谢
【问题讨论】:
-
strip_tags?您正在更改用户密码/限制他们使用某些我认为是直接缺陷的字符。 -
为什么要和管理员手动更改用户密码?
-
如果密码是散列的(而且它必须是散列的),那么就没有什么可以保护它了。但正如已经建议的那样 - 首先允许管理员更改用户密码是一个坏主意。
-
只是不要(限制密码)。
password_hash()和password_verify()都考虑到了这一点。这本身就是一个答案。<b>123'\DELETE等密码被认为是完全有效的。 -
OP 根本不应该使用任何清理机制@Mario
标签: php security hash bcrypt change-password