【问题标题】:How can one block downloading media from my server by other web-pages?如何阻止其他网页从我的服务器下载媒体?
【发布时间】:2021-12-30 23:53:02
【问题描述】:

我有一个网站,其中的图像存储在我自己的服务器上。其他一些网站在其页面上使用指向这些图像的链接,因此服务器必须处理额外的流量。我可以禁止使用 Nginx 配置为外部站点加载图像和其他媒体吗?也许CORS设置可以帮助我?谢谢!

【问题讨论】:

    标签: nginx cors cross-origin-resource-policy fetch-metadata


    【解决方案1】:

    CORS 无法帮助您,因为 CORS 不适用于图像资源。你有两个选择:

    • 跨域资源策略,或
    • 资源隔离策略。

    跨域资源策略

    您可以在对资源请求的响应中指定cross-origin resource policy (CORP)。例如,如果您指定以下响应标头,

    Cross-Origin-Resource-Policy: same-site
    

    browsers that support CORP 将阻止 cross-site 来源将您的资源嵌入到他们的页面中。

    两个警告:

    资源隔离政策

    或者,您可以通过Fetch Metadata request headers在服务器端实现一些resource isolation policy

    资源隔离政策可防止外部网站请求您的资源。

    请注意,目前只有现代版本的基于 Chromium 的浏览器和 (more recently) Firefox 会发送这些请求标头; Safari 显然没有。

    但是,实施此类资源隔离政策可能足以阻止第三方将您的图片嵌入他们的网站,因为他们的大部分访问者将无法加载您的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 2019-07-21
      • 2014-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      相关资源
      最近更新 更多