全部产品
对象存储 OSS

防盗链

更新时间:2017-06-07 13:26:11   分享:   

OSS是按使用收费的服务,为了防止用户在OSS上的数据被其他人盗链,OSS支持基于HTTP header中表头字段referer的防盗链方法。

设置Referer白名单

通过下面代码设置Referer白名单:

  1. using Aliyun.OSS;
  2. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  3. var refererList = new List<string>();
  4. // 添加referer项
  5. refererList.Add("http://www.aliyun.com");
  6. refererList.Add("http://www.*.com");
  7. refererList.Add("http://www.?.aliyuncs.com");
  8. // 允许referer字段为空,并设置存储空间Referer列表
  9. var request = new SetBucketRefererRequest(bucketName, refererList);
  10. request. AllowEmptyReferer = true;
  11. client.setBucketReferer(bucketName, br);
  12. Console.WriteLine("设置存储空间{0}的referer白名单成功", bucketName);

提示:

注意:

  • Referer参数支持通配符“*”和“?”,更多详细的规则配置可以参考开发人员指南OSS防盗链

获取Referer白名单

  1. using Aliyun.OSS;
  2. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  3. var rc = client.GetBucketReferer(bucketName);
  4. Console.WriteLine("allow?" + (rc.AllowEmptyReferer ? "yes" : "no"));
  5. if (rc.RefererList.Referers != null)
  6. {
  7. for (var i = 0; i < rc.RefererList.Referers.Length; i++)
  8. Console.WriteLine(rc.RefererList.Referers[i]);
  9. }
  10. else
  11. {
  12. Console.WriteLine("Empty Referer List");
  13. }

提示:

清空Referer白名单

Referer白名单不能直接清空,只能通过重新设置来覆盖之前的规则。

  1. using Aliyun.OSS;
  2. var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
  3. // 默认允许referer字段为空,且referer白名单为空。
  4. var request = new SetBucketRefererRequest(bucketName);
  5. client.SetBucketReferer(request);
  6. Console.WriteLine("清空存储空间{0}的referer白名单成功", bucketName);
本文导读目录
本文导读目录
以上内容是否对您有帮助?