根据我对哈希的理解,一般来说,一个改变了角色的任何地方都可以把整个哈希扔到另一个球场......这让我想到了......是否正在给PHP一个密码清理一个好主意?如果在某个未来的PHP版本中,他们决定更改使用其清理功能进行转义的内容,并且某人的密码包含一个新转义的字符,这会丢弃其中的哈希,并且它们永远无法重新进入(没有重置)。 / p>
我意识到潜在的安全风险超过了一些密码重置的不便,但我仍然对这一点感到好奇。这是合法的关注吗?
答案 0 :(得分:6)
我不明白为什么你需要清理密码或大部分数据。您应该清理数据以使不安全的使用安全(例如从用户指定的文件中读取)。除此之外,其他所有内容在打印时应由htmlentities($ data)处理,或者在MySQL查询中使用mysql_real_escape_string($ data)处理。永远不需要清理从不可见或从不以不安全方式使用的数据(即清理数据以保证安全)......应该将其转义。
所以,不要消毒,在适当的时候逃跑......比如在打印或查询时。