Php 安全问题应该存储在哪里?

Php 安全问题应该存储在哪里?,php,security,Php,Security,安全问题应该存储在页面的硬代码中,还是存储在MySQL中? 还是有更好的选择 我所说的问题是,为了检索他们的密码,用户将回答什么。始终将可更改的数据保存在数据库中。更好的是管理、安全和完整性。如果您有数据库,我看不出有什么理由将此类数据保留在数据库中。 我希望我已经回答了您的问题:)您是指用户定义的安全问题吗?检索密码是指重置密码吗?因为您不应该能够检索用户的密码。@WhiteShadow-这取决于用户问题的简单程度。当然,答案应该在数据库中加密。但若问题很简单的话,那个就没什么帮助了。我认为最

安全问题应该存储在页面的硬代码中,还是存储在MySQL中? 还是有更好的选择


我所说的问题是,为了检索他们的密码,用户将回答什么。

始终将可更改的数据保存在数据库中。更好的是管理、安全和完整性。如果您有数据库,我看不出有什么理由将此类数据保留在数据库中。
我希望我已经回答了您的问题:)

您是指用户定义的安全问题吗?检索密码是指重置密码吗?因为您不应该能够检索用户的密码。@WhiteShadow-这取决于用户问题的简单程度。当然,答案应该在数据库中加密。但若问题很简单的话,那个就没什么帮助了。我认为最好的选择不是使用问题,而是在用户发送电子邮件时提供生成新密码的可能性。在这种情况下,您将电子邮件发送给用户,以发送给给定的电子邮件(如果存在具有此电子邮件的用户),当用户单击时,他会更改密码。您还可以在更改密码后向此电子邮件发送密码已更改的确认。至少,安全问题的答案应该经过哈希和盐渍处理,这样,任何人都无法在不破坏此安全性的情况下获得答案。(这对于密码本身应该是相同的,因此您可以使用密码加密库)这与他们检索密码无关,更重要的是能够检索密码。如果数据库以某种方式被破坏,并且密码的形式允许您检索它们(即纯文本),那么用户的所有密码都将被破坏,如果密码被正确地散列/盐析,它们仍然相对安全。