gpt4 book ai didi

web-services - 服务是否应在每次请求时要求提供凭据?

转载 作者:行者123 更新时间:2023-12-04 04:07:44 24 4
gpt4 key购买 nike

我想知道服务和 Web 服务的最佳身份验证方法是什么:

  • 在每个请求上发送用户/密码
  • 发送一次用户/密码以获得将在每个请求中发送的验证码

  • 有没有其他选择?哪个更好?为什么?

    最佳答案

    取决于协议(protocol)。

    如果服务请求是明文 (http),那么您可能需要考虑安全 (https) 登录事务,它会为您获得一个限时 token 来授权 future 的请求(实际上是 session cookie)。然后至少窃听者不会获得永远有效的凭据,只是在有限的时间内。

    同样,即使登录交易不安全,至少如果它只发生在稍微难以窃听的情况下。它也稍微难以使用。

    如果您不关心安全性,我什至不会使用用户名/密码,只需使用 API key 。相当于同一件事,但如果用户不选择它,那么至少它不会与他们的任何其他密码相似,因此当它被盗时它不会影响其他任何东西。

    如果您足够关心安全性以至于一切都通过 https 完成,那么您使用的识别机制并没有太大的区别,AFAIK。所以做一些简单的事情。

    最后,您可能关心身份验证的安全性,而不关心请求本身的保密性。因此,您不介意窃听者看到飞行中的数据,您只是不希望他们能够发出自己的请求(或欺骗响应)。在这种情况下,您可以使用公钥/私钥对或与 HMAC 共享的 key 对请求(和响应)进行签名。这可能(或可能不会)比 SSL 更容易设置并且带宽更低。谨防重放攻击。

    关于web-services - 服务是否应在每次请求时要求提供凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3423733/

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