Image 用于保护交付给经过身份验证的用户的嵌入式图像的方法?
作为应用程序的一部分,我的用户可以创建带有嵌入图像/文件/文本等的文档。查看和编辑此内容需要用户登录。目前,图像和文件作为永久链接提供,因此如果共享这些链接,任何未经身份验证的用户都可以永久访问它们 我想确保这些文件的安全。我最初的想法是使用登录令牌和用户id来检查他们是否有访问权,并且只有在他们有访问权的情况下才能交付文件。但后来我开始研究它,似乎最实际的解决方案是生成一个链接,该链接将在将来某个时候过期。这并不能消除未经身份验证的访问的风险,但可能足以降低风险 我想到的问题是:Image 用于保护交付给经过身份验证的用户的嵌入式图像的方法?,image,security,authentication,Image,Security,Authentication,作为应用程序的一部分,我的用户可以创建带有嵌入图像/文件/文本等的文档。查看和编辑此内容需要用户登录。目前,图像和文件作为永久链接提供,因此如果共享这些链接,任何未经身份验证的用户都可以永久访问它们 我想确保这些文件的安全。我最初的想法是使用登录令牌和用户id来检查他们是否有访问权,并且只有在他们有访问权的情况下才能交付文件。但后来我开始研究它,似乎最实际的解决方案是生成一个链接,该链接将在将来某个时候过期。这并不能消除未经身份验证的访问的风险,但可能足以降低风险 我想到的问题是: 关于如何实
- 关于如何实施这一点,是否有共同的方法或几种选择
- 我看到返回的URL使用了过期期限
- 谷歌文档似乎为它的嵌入式图像做了一些更复杂的事情,但我不知道是什么
- 其他人
- 基本设计要点
- 各有利弊
或者,如果您的框架支持它,您也可以这样做,这样您就不必担心cookie地狱了。请注意,您可能需要根据您的用例编写一些客户端java脚本。您最初的方法是正确的。您使用的是什么web应用程序框架?我使用的是Meteor及其相应的accounts软件包,这使得服务器端的身份验证更加复杂,但我已经找到了足够的信息,我认为我可以解决这个问题。我听说过生成指向文件的过期链接/URL,但不确定A)这是否适用于嵌入式图像,B)是否有更好的方法来处理这一问题,一般来说,谷歌用于处理身份验证的第三方用户。对Google Drive/Docs的所有请求都使用随请求发送的令牌进行身份验证。我不知道它们的实现或任何更详细的信息。除此之外,您可以将文件上载到Amazon S3,因为它是物理文件,并限制应用程序对文件的访问。碰巧我已经在这样做了,尽管是间接地使用filepicker.io。。。Filepicker包括我也使用的相同HMAC签名选项。我最大的问题是如何解决这个问题。正如我所读到的,发送一次性nonce似乎可以很好地避免重播攻击的风险,但这当然会增加整个系统的开销。我认为签署文件并有一个小的过期时间是合适的解决方案。