gpt4 book ai didi

python - 不存在身份验证 API 时,如何将用户凭据安全地存储到第三方网站?

转载 作者:行者123 更新时间:2023-11-29 12:56:27 24 4
gpt4 key购买 nike

我正在开发一个网络应用程序,它依赖于一个或多个第三方网站的数据。这些网站不提供任何类型的身份验证 API,因此我使用非官方 API 从第三方网站检索数据。

我打算要求用户提供他们访问第三方网站的凭据。我知道这需要用户信任我和我的工具,我打算通过尽可能安全地存储凭据来尊重这种信任,并明确共享他们的凭据的风险。

我知道现在有一些流行的工具可以解决这个问题。例如,Mint.com 需要用户提供其金融账户的凭据,以便它可以定期检索交易信息。 LinkedIn 要求用户提供电子邮件凭据,以便收集他们的联系信息。

存储用户凭据的安全设计是什么?特别是,我正在编写一个 Django 应用程序,并且可能会构建在 PostgreSQL 后端之上,但我对其他想法持开放态度。

就其值(value)而言,从这些第三方网站访问的数据远不及财务账户、电子邮件账户或社交网络配置文件/账户的级别。也就是说,我打算以最大的尊重对待这种访问,这就是为什么我首先在​​这里寻求帮助。

最佳答案

在存储密码/ secret 方面,没有所谓的安全设计。唯一的问题是,您愿意接受多少安全开销权衡。以下是我认为您应该做的最低限度的事情:

  1. 仅限 HTTPS(所有密码在传输过程中都应加密)
  2. 如果可能,在使用密码时将密码加密保存在内存中,除非您需要访问密码以访问服务。
  3. 数据存储中的加密。所有密码都应在数据存储中进行高度加密。
  4. [可选,但强烈推荐]客户键控;客户应该掌握解锁他们数据的 key ,而不是你。这意味着您与第三方服务的通信只能在客户与您的应用程序交互时发生。 key 应在设定的时间后过期。这可以保护您免受流氓 DBA 或您的数据库的危害。
  5. 这是最难的一个,审计。应记录对任何客户信息的所有访问,并且客户应能够查看日志以验证/审查事件。有些甚至在数据库级别启用此日志记录,以便记录数据库级别的所有行访问。

关于python - 不存在身份验证 API 时,如何将用户凭据安全地存储到第三方网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42169854/

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