【问题标题】:Protect webfonts via Amazon CloudFront from download通过 Amazon CloudFront 保护 webfonts 不被下载
【发布时间】:2020-10-05 15:02:31
【问题描述】:

是否可以保护通过 Amazon CloudFront 嵌入我的网站的数据免遭盗链或其他下载?我主要对保护 webfonts 不被下载感兴趣。

  • Amazon CloudFront 已连接到 S3 存储桶
  • S3 存储桶策略通过 CloudFront 控制文件的允许域

你认为这可行吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront


    【解决方案1】:

    由于您已将 Cloudfront 设置连接到您的 s3 存储桶,因此您可以使用 Cloudfront Signed Urls 来防止任何人从公众下载。

    例如,您可以将字体放在名为 fonts 的文件夹中,并在云端为包含 /fonts/ 的任何路径设置单独的行为,然后您可以在其中激活 Restrict Viewer Access

    在您的网站中,您需要添加一些方法来仅在您的网页加载时为此生成预签名的 url,并且您可以为该 URL 设置一个较短的到期时间。

    【讨论】:

    • 感谢您参与此活动 :) 但是,当仅允许该一个域访问时,真的需要签名的 url 吗?网站用户虽然找到了url,但没有机会下载文件,对吧?
    • 如果你有一个恶意用户,他们可以从技术上获取签名的 url 并在到期时间仍然有效的情况下在他们的浏览器上下载字体。您也可以从 devtools 下载字体。上述方法将防止盗链,因为它们无法生成预签名的 url。但是,您也可以直接从 S3 提供字体,并使用 s3 存储桶 cors 防止盗链。您将仅针对字体绕过云端(但您将失去 CDN 的优势)。
    • 我经历了您所面临的体验,但使用的是视频文件而不是字体。并且没有办法完全阻止任何下载,但它们都是阻止轻松下载的步骤。但是对于字体,有些人可能会使用具有许可证的字体提供程序来处理来自 font-face 的请求。我不是字体专家,但我认为这个答案可以更好地解释它:stackoverflow.com/a/13400304/6828976希望这有助于@robinex
    • 谢谢。但是当访问受到域限制时,我无法从 devtools 下载字体,对吗?我已经尝试过了,链接被阻止了。我只能在允许的域上提供字体。或者您会建议使用htaccess 作为更好、更简单的解决方案吗?
    猜你喜欢
    • 2013-03-05
    • 2017-05-19
    • 2011-11-17
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2012-09-26
    相关资源
    最近更新 更多