原图保护功能可以防止您OSS内允许匿名访问的图片文件被盗用。开启原图保护后,匿名访问者可以使用携带样式参数的请求或通过签名URL访问原图。

前提条件

原图保护功能公测中,请联系技术支持申请使用。

背景信息

您可以通过以下方式访问开启原图保护的图片:
  • 使用携带样式参数的文件URL访问,格式为https://BucketName.Endpoint/ObjectName?x-oss-process=style/StyleName
  • 使用携带签名的文件URL访问,格式为https://BucketName.Endpoint/ObjectName?Signature

操作步骤

  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据处理 > 图片处理
  4. 图片处理页面,单击访问设置
  5. 访问设置面板,打开原图保护开关,并设置以下参数:
    参数 说明
    原图保护 最多可设置10条原图保护规则,每条规则由前缀和后缀组成。

    规则说明如下:

    • 设置单条原图保护规则时,前缀和后缀可单独配置,也可以同时配置。同时配置时,文件名称需同时匹配前后缀才会生效。
      说明 如果您希望对某个文件夹(例如image/)下的图片文件开启原图保护,请将前缀设置为image/
    • 设置多条原图保护规则时,文件名称匹配任意一条规则即可生效。
    • 原图保护规则和原图保护后缀同时配置时,文件名匹配两者中的任一配置即可生效。
    • 如果您希望忽略规则中指定前缀或后缀的大小写,请选中忽略大小写
    原图保护后缀 原图保护后缀下拉列表选择文件后缀,Bucket中所有匹配指定后缀的图片文件都会被保护。
    自定义分隔符 支持四种自定义分隔符,分别为短横线(-)、下划线(_)、正斜线(/)以及感叹号(!)。设置自定义分隔符后,可使用分隔符代替样式参数,进一步简化图片处理URL。

    例如,使用携带样式参数的图片处理URL访问图片时,格式为https://BucketName.Endpoint/ObjectName?x-oss-process=style/StyleName。将自定义分隔符设置为感叹号(!)时,可直接使用格式为http(s)//:BucketName.Endpoint/ObjectName!StyleName的图片URL访问图片。

  6. 单击确定

常见问题

  • 问题一:OSS开启了原图保护,直接访问图片文件时会正常返回403,但是通过CDN来进行请求时原图保护无效,返回200。

    这种情况有可能是CDN回源到了私有Bucket,造成原图保护失效。原图保护功能仅针对匿名访问文件有效,对于带签名的访问是无效的。

  • 问题二:开启原图保护后,为什么通过签名后的URL仍可以访问原图?

    原图保护仅针对允许匿名访问的文件,使用签名URL访问图片属于非匿名访问。所以开启原图保护后,使用签名后的URL仍然可以访问原图。