详情页标题前

阿里云对象存储OSS防盗链-云淘科技

详情页1

通过在OSS中配置基于请求标头Referer的访问规则,可以阻止某些Referer访问您的OSS文件,从而防止其他网站盗用您的文件,并避免由此引起的不必要的流量费用增加。

使用场景

  • 禁止未经授权的使用:保护图片、视频、音频等敏感或有版权的文件不被未经授权的网站下载或访问。

  • 节省带宽和资源消耗:通过防止盗链,避免其他网站直接链接到自己的资源文件,减少了非法访问带来的带宽消耗和服务器资源压力。

  • 付费内容保护:在提供付费内容的场景中,防盗链可以确保只有购买者才能访问和使用付费内容,防止非法传播和盗版。

  • 合作伙伴授权访问:某些情况下,需要与合作伙伴网站共享资源或数据,通过防盗链可以限制只有特定合作伙伴可以访问和使用共享资源。

基本概念

  • 盗链:是指在一个网页内,以链接的形式嵌入另一个网页的内容,从而获取他人的资源而不经过授权。

  • 防盗链:在OSS中,是指通过配置Referer来防止其他非法网站或用户盗用您的OSS资源。

  • Referer:HTTP请求头部中的一个字段,包含了请求的来源页面的URL。通过检查Referer头部的值,可以判断请求的来源页面。Referer检查通常用于以下两种场景:防盗链。例如,网站访问自己的图片服务器,图片服务器通过Referer来判断是否为自己的域名,如果是就继续访问,不是则拦截;数据统计。例如,统计用户是从哪个链接过来访问的。

  • 空Referer:HTTP请求中Referer头部的内容为空,或者HTTP请求中不包含Referer头部。如果存在以下两种情况,则Referer为空:当请求并不是由链接触发产生。例如直接通过浏览器输入地址打开页面;从HTTPS页面上的链接访问到非加密的HTTP页面时,在HTTP页面上是检查不到Referer的。

  • 白名单:一种限制只允许特定来源访问资源的列表。在防盗链中,可以配置一个白名单来定义允许访问资源的Referer来源。

  • 黑名单:一种限制阻止特定来源访问资源的列表。在防盗链中,可以配置一个黑名单来定义阻止访问资源的Referer来源。

  • QueryString:HTTP请求中的一部分,用于在URL中传递参数信息。它通常包含在URL的问号后面,以键值对的形式表示。

功能原理

当浏览器向OSS发送请求时,请求标头中将包含Referer,用于告知OSS该请求的页面链接来源。如果配置了防盗链,OSS将根据请求的Referer与配置的Referer规则来判断是否允许此请求:

  • 如果浏览器附带的Referer与黑名单Referer匹配,或与白名单Referer不匹配,则OSS将拒绝该请求的访问。

  • 如果浏览器附带的Referer与白名单Referer匹配,则OSS将允许该请求的访问。

阿里云对象存储OSS防盗链-云淘科技

例如,某个Bucket配置了白名单Referer为https://10.10.10.10

  • 用户A在https://10.10.10.10嵌入test.jpg图片,当浏览器请求访问此图片时会带上https://10.10.10.10的Referer,此场景下OSS将允许该请求的访问。

  • 用户B盗用了test.jpg的图片链接并将其嵌入https://192.168.0.0,当浏览器请求访问此图片时会带上https://192.168.0.0的Referer,此场景下OSS将拒绝该请求的访问。

判断逻辑

开启防盗链后,OSS会根据请求Header中的Referer地址判断访问来源的方式,确定是否允许当前请求。具体判断逻辑如下。

阿里云对象存储OSS防盗链-云淘科技

  1. 判断请求Referer是否为空。

    • 如果请求Referer为空,则查看是否允许空Referer。

      • 如果允许空Referer,则请求被允许。

      • 如果不允许空Referer,且白名单Referer列表为空,则请求被允许。

      • 如果不允许空Referer,且白名单Referer列表不为空,则请求被拒绝。

    • 如果请求Referer不为空,则执行步骤2。

  2. 判断黑名单Referer列表是否为空。

    • 如果黑名单Referer列表为空,且白名单Referer列表为空,则请求被允许。

    • 如果黑名单Referer列表为空,且白名单Referer列表不为空,则跳过步骤3,执行步骤4。

    • 如果黑名单Referer列表不为空,则执行步骤3。

  3. 遍历黑名单Referer列表。

    • 如果黑名单Referer列表存在匹配条目,则请求被拒绝。

    • 如果黑名单Referer列表不存在匹配条目,则执行步骤4。

  4. 遍历白名单Referer列表。

    • 如果白名单Referer列表存在匹配条目,则请求被允许。

    • 如果白名单Referer列表不存在匹配条目,则请求被拒绝。

注意事项

  • 仅支持针对整个Bucket设置防盗链,不支持为Bucket的某一个文件或文件夹设置防盗链。

  • 仅当通过签名URL访问Object(调用GetObject接口)或者匿名访问Object时,OSS会进行防盗链验证。

  • 当请求的Header中包含Authorization字段,OSS不会进行防盗链验证。

  • 一个Bucket可以支持多个Referer参数,这些参数之间通过,分隔。

  • 为Bucket配置防盗链后,所有权限(private、public-read、public-read-write)的Bucket都会检查Referer字段。

  • 当您使用OSS的Bucket域名(例如bucketname.oss-cn-hangzhou.aliyuncs.com)预览MP4文件时,浏览器默认会同时发出两个请求,其中一个为带Referer的请求,另一个为空Referer的请求,因此设置防盗链时必须同时满足在白名单Referer中添加Bucket域名,且允许空Referer的条件。

  • 当您使用OSS的Bucket域名(例如bucketname.oss-cn-hangzhou.aliyuncs.com)预览非MP4文件时,仅需允许空Referer。

错误码

  • 0033-00000005

  • 0003-00000501

  • 0003-00000502

  • 0003-00000503

相关文档

  • 查看来自其他网站的OSS请求的Referer

  • 配置Referer防盗链来阻止其他网站引用OSS文件

  • 验证Referer防盗链是否生效

  • 防盗链常见示例

  • 防盗链常见问题

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:http://www.yunxiaoer.com/159460.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSS防盗链常见问题-云淘科技

    为防止OSS文件被其他人盗链而产生额外的流量费用,您配置了Referer防盗链来阻止其他网站引用OSS文件,然而进行测试时,您发现防盗链并没有生效或者效果不符合预期。本文介绍OSS防盗链的常见问题以及排查方法。 配置了防盗链,但没有生效? 如果您为OSS配置了Referer防盗链,但测试防盗链没有生效,请排查您的浏览器、OSS、CDN设置。 排查项目 错误原…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS配置Referer防盗链来阻止其他网站引用OSS文件-云淘科技

    为阻止其他网站引用您的OSS文件,引起不必要的流量费用增加,您可以在Referer白名单中仅添加您自己网站的域名,从而仅允许该域名的网站引用您的OSS文件。 前提条件 查看来自其他网站的OSS请求的Referer 警告 错误地配置Referer防盗链会导致您的网站无法正常引用您的OSS文件,或者用户无法在浏览器中直接访问您的OSS文件。在配置之前,您需要在测…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS0003-00000502-云淘科技

    问题描述 请求被防盗链策略(Referer Bucket)拒绝。 问题原因 您发起的请求请求头中Referer字段的值在Bucket Referer黑名单中。 问题示例 比如您访问的Bucket的Referer配置如下: false http://*.aliyuncs.com http://abc.aliyuncs.com </RefererConfi…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS通过HTTP请求存储在OSS的图片时出现403错误-云淘科技

    问题描述 图片上传到阿里云对象存储OSS后,通过HTTP请求该图片URL,发现返回403错误。 问题原因 无法正常访问图片的报错原因如下: Bucket为私有权限 防盗链配置异常 解决方案 当通过HTTP访问存储在OSS中的图片发生报错时,请参见以下操作进行排查处理: 确认Bucket权限。如果为私有权限,请按以下方式处理: 通过签名访问,签名可以参见阿里云…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSJava防盗链-云淘科技

    防盗链通过设置Referer列表(包括白名单Referer和黑名单Referer)以及是否允许空Referer的方式,限制您Bucket内资源的访问来源,避免Bucket内的资源被其他人盗用。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Regio…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。