gpt4 book ai didi

security - 网站登录: how should user credentials be sent to the server for verification?

转载 作者:行者123 更新时间:2023-12-02 19:56:35 25 4
gpt4 key购买 nike

我正在开发一个项目,其中远程客户端需要登录到网络服务器。我并不是在寻找任何特定语言的例子;只是所涉及的安全问题的一般概念。

基本问题是:
应如何将用户凭据传递到网络服务器进行验证?

我正在想象您典型的网站登录情况。一个字段用于用户名,另一个字段用于密码。您输入两者并单击“登录”。接下来会发生什么?

我可以想象一些场景:

  1. 凭据以纯文本形式发送到服务器。服务器端脚本创建密码的哈希值,并将其与存储的用户哈希值进行比较。
  2. 凭证在本地加密,结果发送到服务器。服务器解密凭据并按照#1 继续
  3. 有什么我还没想到的吗?我对此很陌生。对我宽容一点!

选项 #1 给我的感觉很弱,因为凭据是通过互联网以纯文本形式发送的。

我认为选项#2 并不比选项#1 好多少。如果有人拦截了加密的凭据,他们是否可以再次将其发送到服务器,并且仍然能够登录?

任何见解都值得赞赏。

编辑:“相关”侧边栏建议 this question ,其中提到了客户端/服务器握手,并在密码中添加了盐。这是正确的方法吗?

最佳答案

选项 1 是目前为止的默认选项。通常通过在登录期间强制执行 SSL 来克服明文的弱点,以便密码至少在传输过程中被加密。

编辑:我建议您遵循该问题已接受的答案。

不要忘记需要 nonce为了您的要求。这将有助于保护您免受重放攻击。

编辑第二个:韦恩深思熟虑地提到你应该 salt哈希之前的密码。以下是一些基本技巧:

  1. 盐是前缀、后缀还是中缀都没关系
  2. 您的盐应该很大、随机且复杂。
  3. 您的盐值应该是唯一的。盐本身不需要加密。

关于security - 网站登录: how should user credentials be sent to the server for verification?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884927/

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