有没有理由逃脱用户输入,如果它只是被哈希并存储为密码?

时间:2015-06-01 21:23:08

标签: php

如果要进行哈希并将其存储为密码,是否有任何理由要逃避用户输入?它永远不会显示在任何地方或输出给用户。在散列/解散过程中或沿线的任何其他位置是否存在代码注入的固有危险?

1 个答案:

答案 0 :(得分:2)

有两个时刻我们可能想要逃避输入:

  1. 当我们把它放在我们的SQL语句中时;
  2. 当我们输出它时。
  3. 正如你告诉我们的那样,第二个永远不会/你期望它永远不会出现这种情况,如果是这样的话,我们通常会在输出之前将其转义,而不是在将它放入数据库之前,所以你没事。< / p>

    对于第一种情况,它是为了防止SQL injections。如果您按照建议使用PDO,并且如果您使用prepare()方法,那么您没问题,因为PDO负责保护字符串,以便它不会影响数据库(它基本上逃脱了它,基本上)。