gpt4 book ai didi

image - 保护交付给经过身份验证的用户的嵌入式图像的方法?

转载 作者:行者123 更新时间:2023-12-01 09:59:43 25 4
gpt4 key购买 nike

作为应用程序的一部分,我的用户可以创建带有嵌入图像/文件/文本等的文档。查看和编辑此内容需要用户登录。目前,图像和文件虽然是作为永久链接提供的,因此如果那些链接是共享的,任何未经身份验证的用户都可以永远访问它们。

我想确保这些文件的安全。我最初的想法是使用登录 token 和用户 ID 来检查他们是否有权访问,并且只有在他们访问时才传送文件。但后来我开始研究它,似乎最实用的解决方案是生成一个链接,该链接将在未来某个时间点过期。这不会消除对未经身份验证的访问的暴露,但可能足以减少它。

想到的问题是:

  • 是否有关于如何实现的通用方法或一些选项?

    • 我看到返回的 url 使用了有效期
    • Google 文档似乎为它的嵌入式图像做了一些更复杂的事情,但我不知道是什么
    • 其他?
  • 基本设计要点?

  • 各自的优点/缺点?

最佳答案

是的,它将经过身份验证的访问减少到固定时间,但理论上它提供未经过身份验证的访问。所以安全专家会声称它没有身份验证。这种定时到期链接通常用于防止一次性未经身份验证的访问,例如密码重置(以及与时间无关的到期 token )。

你的目标是什么?您试图从谁那里保护数据?已经有权访问文件的用户是否要限制提供到期时间?从这个问题来看,您需要保护每个人对其中包含文本和嵌入图像的文件/文档的访问。您对定时到期设计是正确的。它不会保证文档的身份验证和完整性,如果它是通过非安全 HTTP 传输的,它甚至不会为您提供来自潜在对手的文档完整性。

您可以通过 HTTPS 使用 cookie(安全 cookie)。只要用户拥有未过期的 cookie,就允许访问文件/文档。如果您在前面有反向代理的多个盒子中托管解决方案,则 cookie 方法需要分布式 cookie 管理。尽管跨站点脚本是一种威胁,但大多数主要 Web 应用程序提供商仍然使用基于 cookie 的解决方案。请注意,cookie 会破坏 REST网络应用程序的性质。

另一种方法(类似于 cookie)是生成与用户/文档绑定(bind)的经过身份验证的 token ,该 token 在生成 token 时设置的时间段内可以访问 N 次尝试。必须通过 HTTPS 使用此方法以避免不需要的监听器。

总是变化的链接的管理成本非常高,而且随着时间的推移无法扩展,因为它有太多的状态需要管理,而应用程序崩溃会使它的成本更高。重定向到身份验证对您来说是一个安全的选择,前提是您已经实现了 cookie 管理,或者您有一个应用程序实例需要处理。

或者你可以HTTP digest authentication前提是你的框架支持它,这样你就不必担心 cookie-hell。请注意,您可能需要根据您的用例编写一些客户端 Java 脚本。

关于image - 保护交付给经过身份验证的用户的嵌入式图像的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31223429/

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