Django表单在表单中使用CSRF令牌,甚至在对django-rest-api进行POST时使用CSRF令牌。关于使用表单发布密码而不通过HTTP连接进行散列,我有两个问题 -
答案 0 :(得分:2)
哈希密码的目的是不可逆地隐藏原始密码。密码哈希存储在数据库中而不是明文密码中,这样,如果数据库被黑客攻陷,他们就不会知道原始密码。这意味着他们可能知道用户名,但他们将无法访问这些帐户(至少在没有投入资源来破解这些哈希的情况下)。
回到你的问题,如果你存储密码哈希值,并且你希望用户提交密码哈希值,那么它就会破坏整个目的,因为密码哈希值将有效地用作明文密码。
要回答您的问题,是的,如果密码哈希存储在数据库中,则发布明文密码是安全的。如果要提高安全性,请使用HTTPS,以便在传输到服务器时加密明文密码。
编辑:
澄清一下,当我说:
如果存储了密码哈希值,则可以安全地发出明文密码 在数据库中
我的意思是上述示例中指定的攻击媒介是安全的(黑客利用数据库来控制帐户)。