gpt4 book ai didi

web-services - 图像等资源并保护它们

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

我一直在考虑这个问题,并在 Facebook 上做了一个快速测试。假设您有一个类似 Facebook 的网站,并将其拆分为图片和个人资料。您选择与 friend 分享或不分享的图像。显然,在数据库中,如果元数据是否共享、与谁共享等,则会对元数据应用一些值。

现在假设我查看了一个特定的图像,所以我现在有一个该资源的 HTTPS URL(本例中为图像)。此时,无需登录或拥有任何类型的 token 即可查看资源。你有 URL,将它加载到任何浏览器中,你就会看到该资源。当然,它是在 SSL 层中提供的,它们具有相当长且复杂的名称,但我可以在不进行身份验证的情况下查看它。

我忍不住想,这是能做到的最好的吗?是否可以保护此类内容,以便如果您有直接 URL 则无法加载它?那些可能更敏感的文件呢?如果有人有路径,他们现在可以永远访问该资源吗? OAuth 在这种情况下有什么帮助吗?

我想我只是在大声思考如何保护这些资源,这样如果我直接点击一个 URL,我将不会总是在未经身份验证的情况下获得该资源。我可能缺少其他过程或方法吗?如果是这样,性能和安全性之间的正确平衡是什么?权衡取舍是什么?想要研究可扩展的选项。

最佳答案

在您描述的资源访问实现中,这将被视为一个漏洞。几乎每个 Web 应用程序都可以控制以确保请求的资源仅交付给经过身份验证和授权的用户。唯一不会出现这种情况的情况是使用不进行 session 跟踪的简单服务器。令人遗憾的是,Facebook 或任何知名网站在 2013 年都容易受到此攻击。这是我在 90 年代和 2000 年代初经常看到的漏洞。

大多数网络应用程序以某种形式维护用户 session 的状态。当请求资源时(例如通过 URL 请求图像),将检查 session token (或其他方法)以确保用户已通过身份验证,并且在返回之前用户有权请求该资源(访问控制) .如果用户不检查,请求将被拒绝。

关于web-services - 图像等资源并保护它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16575768/

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