我一直在思考这个问题,并在 Facebook 上做了一个快速测试。假设您有一个类似 Facebook 的网站,并将其分解为图像和个人资料。您选择与朋友分享或不分享的图像。显然,在数据库中,如果元数据是否共享、与谁共享等,则在元数据上应用了一些值。
现在假设我查看了一个特定的图像,所以我现在有一个用于该资源的 HTTPS URL(本示例中的图像)。此时,无需登录或拥有任何类型的令牌即可查看资源。您有 URL,将其加载到任何浏览器中,您就会看到该资源。当然,它是在 SSL 层中提供的,它们的名称相当长、复杂,但我可以在不进行身份验证的情况下查看它。
我不禁想,这是可以做到的最好的吗?这种类型的内容能否得到保护,因此如果您有直接 URL,则无法加载它?那些可能更敏感的文件呢?如果有人有路径,他们现在可以永远访问该资源吗?在这种情况下,OAuth 可以提供帮助吗?
我想我只是在大声思考如何保护这些资源,所以如果我直接点击一个 URL,我不会总是在没有经过身份验证的情况下获得该资源。是否有其他我可能遗漏的过程或方法?如果是这样,性能和安全性之间的正确平衡是什么,权衡是什么?想研究可扩展的选项。