tencent cloud

Feedback

Hotlink Protection

Last updated: 2022-01-17 12:44:42

    Overview

    This document provides an overview of APIs and SDK code samples related to bucket referer allowlist or blocklist.

    API Operation Description
    PUT Bucket referer Setting bucket referer configuration Sets a bucket referer allowlist or blocklist
    GET Bucket referer Querying bucket referer configuration Queries a bucket referer allowlist or blocklist

    Setting Bucket Referer Configuration

    Description

    This API (PUT Bucket referer) is used to set a referer allowlist/blocklist for a bucket.

    Method prototype

    func (s *BucketService) PutReferer(ctx context.Context, opt *BucketPutRefererOptions) (*Response, error)
    

    Sample request

    package main
    import (
      "context"
      "github.com/tencentyun/cos-go-sdk-v5"
      "net/http"
      "net/url"
      "os"
    )
    func main() {
      // Bucket name in the format of BucketName-APPID (APPID is required), which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
      // Replace it with your region, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/. For more information about regions, see https://intl.cloud.tencent.com/document/product/436/6224.
      u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
      b := &cos.BaseURL{BucketURL: u}
      client := cos.NewClient(b, &http.Client{
          Transport: &cos.AuthorizationTransport{
              // Get the key from environment variables
              // Environment variable `SECRETID` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
              SecretID: os.Getenv("SECRETID"),
              // Environment variable `SECRETKEY` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
              SecretKey: os.Getenv("SECRETKEY"),
          },
      })
      opt := &cos.BucketPutRefererOptions{
          Status:      "Enabled",
          RefererType: "White-List",
          DomainList: []string{
              "*.qq.com",
              "*.qcloud.com",
          },
          EmptyReferConfiguration: "Allow",
      }
       _, err := client.Bucket.PutReferer(context.Background(), opt)
    }
    

    Parameter description

    type BucketPutRefererOptions struct {
      Status                  string 
      RefererType             string 
      DomainList              []string 
      EmptyReferConfiguration string
    }
    
    Parameter Description Type
    Status Whether hotlink protection is enabled. Enumerated values: Enabled,Disabled` String
    RefererType Hotlink protection type. Enumerated values: Black-List, White-List String
    DomainList A list of domains, which can include ports, IPs, or asterisks (*). You can set multiple domains. Array
    EmptyReferConfiguration Whether to allow access with an empty referer. Enumerated values: Allow, Deny String

    Querying Bucket Referer Configuration

    Description

    This API (GET Bucket referer) is used to query the referer allowlist/blocklist of a bucket.

    Method prototype

    func (s *BucketService) GetReferer(ctx context.Context) (*BucketGetRefererResult, *Response, error)
    

    Sample request

    package main
    import (
      "context"
      "fmt"
      "github.com/tencentyun/cos-go-sdk-v5"
      "net/http"
      "net/url"
      "os"
    )
    func main() {
      // Bucket name in the format of BucketName-APPID (APPID is required), which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
      // Replace it with your region, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/. For more information about regions, see https://intl.cloud.tencent.com/document/product/436/6224.
      u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
      b := &cos.BaseURL{BucketURL: u}
      client := cos.NewClient(b, &http.Client{
          Transport: &cos.AuthorizationTransport{
              // Get the key from environment variables
              // Environment variable `SECRETID` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
              SecretID: os.Getenv("SECRETID"),
              // Environment variable `SECRETKEY` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
              SecretKey: os.Getenv("SECRETKEY"),
          },
      })
      res, _, err := client.Bucket.GetReferer(context.Background())
      if err != nil {
          fmt.Println(err)
      }
      fmt.Println(res)
    }
    

    Response description

    type BucketGetRefererResult struct {
      Status                  string 
      RefererType             string 
      DomainList              []string 
      EmptyReferConfiguration string
    }
    
    Parameter Description Type
    Status Whether hotlink protection is enabled. Enumerated values: Enabled,Disabled` String
    RefererType Hotlink protection type. Enumerated values: Black-List, White-List String
    DomainList A list of domains, which can include ports, IPs, or asterisks (*). You can set multiple domains. Array
    EmptyReferConfiguration Whether to allow access with an empty referer. Enumerated values: Allow, Deny String
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support