如果要进行哈希并将其存储为密码,是否有任何理由要逃避用户输入?它永远不会显示在任何地方或输出给用户。在散列/解散过程中或沿线的任何其他位置是否存在代码注入的固有危险?
答案 0 :(得分:2)
有两个时刻我们可能想要逃避输入:
正如你告诉我们的那样,第二个永远不会/你期望它永远不会出现这种情况,如果是这样的话,我们通常会在输出之前将其转义,而不是在将它放入数据库之前,所以你没事。< / p>
对于第一种情况,它是为了防止SQL injections。如果您按照建议使用PDO,并且如果您使用prepare()
方法,那么您没问题,因为PDO负责保护字符串,以便它不会影响数据库(它基本上逃脱了它,基本上)。