对于公共读文件,为了在业务中避免被盗图的风险,需要限制向外暴露的图片URL,匿名访问者只能获取到经过缩略处理或者添加水印后的图片。这一需求可以通过开启原图保护的方式实现。

背景信息

开启原图保护以后,OSS中存储的图片无法通过下面两种方式访问:

  • OSS地址直接访问,如:http://bucket.<endpoint>/object
  • 处理参数请求缩略图,如:http://bucket.<endpoint>/object?x-oss-process=image/action,parame_value

对于开启了原图保护的图片,只能通过以下样式的方式访问:

  • URL参数方式,如:http://bucket.<endpoint>/object?x-oss-process=style/<StyleName>
  • 分隔符方式,如:http://bucket.<endpoint>/object<分隔符><StyleName>
说明
  • 上述规则仅针对于匿名访问公共读文件有效。配置原图保护后,可以通过签名的访问获取到图片原图。
  • 原图保护主要针对于图片文件,必须配置被保护图片的后缀。

配置原图保护

  1. 登录OSS管理控制台
  2. 在左侧的存储空间列表中,单击需要设置原图保护的存储空间名称。
  3. 在存储空间详情页中,单击图片处理页签,然后单击访问设置


  4. 访问设置对话框中设置以下参数:


    • 原图保护:选择开启原图保护。开启后,图片文件只能通过传入stylename和带签名的方式访问。OSS 将禁止用户通过直接访问原文件或传入图片参数修改图片样式的形式对图片进行访问。
    • 原图保护后缀:设置被保护的原图后缀。只有带有所设置后缀的原图会被保护。例如,如将此参数设置为.jpg,用户依然可以直接访问.png后缀的原图。
  5. 单击确定

SDK 示例