gpt4 book ai didi

php - 通过网络发送密码

转载 作者:可可西里 更新时间:2023-11-01 06:57:10 24 4
gpt4 key购买 nike

所以我正在开发一个移动平台应用程序,我想让用户通过网络进行身份验证。我想知道最好的安全方法。用户正在将 HTTP 密码发送到 php 服务器,该服务器针对同一服务器上的 mysql 数据库进行身份验证。显然,我不想通过 Internet 以纯文本形式发送密码,但我也不想执行 2 个 SHA 哈希。

这是服务器的样子(伪代码)

$pass = $_POST['pass'];

if ((get PASSWORD where USERNAME = USERNAME) == SHA($pass)) return PASS;

这是非常标准的,我认为没有任何其他方法可以做到这一点。但我想知道在通过 Internet 发送数据之前应该如何准备数据。

最佳答案

  1. 如果你想要安全,你。必须。利用。 HTTPS。使用适当的非自签名证书。无论您做什么,在未加密通信中经过身份验证的身份都将很容易被窃取。 (不用管密码,攻击者可以简单地窃取随每个请求提供的 session cookie。)
  2. 散列本身没有值(value),你必须加盐。 (这与身份验证并没有真正的关系——它是第二层防御,以防有人窃取您的数据库。如果您成为有前途的目标,这种情况迟早会发生。)使用 bcrypt 和每个用户长随机盐, sha* 不安全,因为它太快了。
  3. 使用具有安全意识的大型项目已经在使用的方法。这些方法在某种程度上经受住了时间的考验。有一些基于挑战-响应的方法可以避免以任何形式发送密码,但加密很难,而且很容易以不安全的方式实现安全算法。使用良好的安全框架(例如 PHPass ),不要依赖未广泛使用的代码。

关于php - 通过网络发送密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com