Todos os produtos
Search
Central de documentação

Object Storage Service:PutBucketReferer

Última atualização: Jul 03, 2026

Configura uma lista de permissões ou lista de bloqueios de Referer para um bucket do Object Storage Service (OSS).

Permissões

Por padrão, a conta Alibaba Cloud tem permissões totais. Usuários RAM e funções RAM vinculados a essa conta não possuem permissões iniciais. A conta Alibaba Cloud ou o administrador deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.

API

Action

Descrição

PutBucketReferer

oss:PutBucketReferer

Configura a proteção contra hotlink para um bucket.

Sintaxe da solicitação

PUT /?referer HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss.aliyuncs.com
Authorization: SignatureValue

<?xml version="1.0" encoding="UTF-8"?>
<RefererConfiguration>
  <AllowEmptyReferer>false</AllowEmptyReferer>
  <AllowTruncateQueryString>true</AllowTruncateQueryString>
  <TruncatePath>true</TruncatePath>
  <RefererList>
    <Referer>http://www.aliyun.com</Referer>
    <Referer>https://www.aliyun.com</Referer>
    <Referer>http://www.*.com</Referer>
    <Referer>https://www.?.aliyuncs.com</Referer>
  </RefererList>
  <RefererBlacklist>
    <Referer>http://www.refuse.com</Referer>
    <Referer>https://*.hack.com</Referer>
    <Referer>http://ban.*.com</Referer>
    <Referer>https://www.?.deny.com</Referer>
  </RefererBlacklist>
</RefererConfiguration>

Elementos da solicitação

Elemento

Tipo

Obrigatório

Exemplo

Descrição

RefererConfiguration

Contêiner

Sim

N/A

Contêiner que armazena as configurações de proteção contra hotlink.

Nós filhos: AllowEmptyReferer, AllowTruncateQueryString e RefererList

Nó pai: nenhum

AllowEmptyReferer

String enumerada

Sim

false

Defina se solicitações com o campo Referer vazio são permitidas. Valores válidos:

  • true (padrão)

  • false

Nó pai: RefererConfiguration

AllowTruncateQueryString

String enumerada

Não

true

Indica se a query string na URL deve ser truncada durante a correspondência do Referer. Valores válidos:

  • true

  • false (padrão)

Nó pai: RefererConfiguration

TruncatePath

String enumerada

Não

true

Especifica se o caminho e as partes subsequentes na URL devem ser truncados ao corresponder ao Referer. Valores válidos:

  • true

    Importante

    Se TruncatePath estiver definido como true, o valor de AllowTruncateQueryString também deverá ser true, pois a query string vem após o componente de caminho. Quando o caminho é truncado, a query string também é truncada.

  • false (padrão)

Nó pai: RefererConfiguration

RefererList

Contêiner

Sim

N/A

Contêiner que armazena a lista de permissões de Referer.

Nota

A operação PutBucketReferer substitui a lista de permissões de Referer existente pela lista especificada em RefererList. Caso RefererList não seja especificado na solicitação, indicando que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de permissões de Referer existente.

Nó pai: RefererConfiguration

Nó filho: Referer

RefererBlacklist

Contêiner

Não

N/A

Contêiner que armazena a lista de bloqueios de Referer.

Nota

A operação PutBucketReferer substitui a lista de bloqueios de Referer existente pela lista especificada em RefererBlacklist. Se RefererBlacklist não for especificado na solicitação, indicando ausência de elementos Referer, a operação PutBucketReferer limpa a lista de bloqueios de Referer existente.

Nó pai: RefererConfiguration

Nó filho: Referer

Referer

String

Não

http://www.aliyun.com

Endereços presentes na lista de permissões ou lista de bloqueios de Referer.

Nó pai: RefererList ou RefererBlacklist

Para obter mais informações sobre os cabeçalhos de solicitação comuns na operação PutBucketReferer, como Host e Date, consulte Cabeçalhos de solicitação comuns.

Cabeçalhos de resposta

Todos os cabeçalhos na resposta a uma solicitação PutBucketReferer são cabeçalhos de resposta comuns. Para mais detalhes, consulte Cabeçalhos de resposta comuns.

Exemplos

Solicitações de exemplo

  • Exemplo de solicitação sem lista de permissões ou lista de bloqueios de Referer

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: 247
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>true</AllowEmptyReferer>
      <RefererList/>
    </RefererConfiguration>                            
  • Exemplo de solicitação contendo apenas uma lista de permissões de Referer

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: 247
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>false</AllowEmptyReferer>
      <AllowTruncateQueryString>true</AllowTruncateQueryString>
      <TruncatePath>true</TruncatePath>
      <RefererList>
        <Referer>http://www.aliyun.com</Referer>
        <Referer>https://www.aliyun.com</Referer>
        <Referer>http://www.*.com</Referer>
        <Referer>https://www.?.aliyuncs.com</Referer>
      </RefererList>
    </RefererConfiguration>                            
  • Exemplo de solicitação com lista de permissões e lista de bloqueios de Referer

    PUT /?referer HTTP/1.1
    Host: BucketName.oss.example.com
    Content-Length: ***
    Date: Thu, 17 Apr 2025 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    <?xml version="1.0" encoding="UTF-8"?>
    <RefererConfiguration>
      <AllowEmptyReferer>false</AllowEmptyReferer>
      <AllowTruncateQueryString>true</AllowTruncateQueryString>
      <TruncatePath>true</TruncatePath>
      <RefererList>
        <Referer>http://www.aliyun.com</Referer>
        <Referer>https://www.aliyun.com</Referer>
        <Referer>http://www.*.com</Referer>
        <Referer>https://www.?.aliyuncs.com</Referer>
      </RefererList>
      <RefererBlacklist>
        <Referer>http://www.refuse.com</Referer>
        <Referer>https://*.hack.com</Referer>
        <Referer>http://ban.*.com</Referer>
        <Referer>https://www.?.deny.com</Referer>
      </RefererBlacklist>
    </RefererConfiguration>

Resposta de exemplo

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Fri, 04 May 2012 03:21:12 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
x-oss-server-time: 110

SDKs do OSS

Use os SDKs do OSS nas linguagens de programação abaixo para invocar a operação PutBucketReferer:

ossutil

Para informações sobre o comando do ossutil correspondente à operação PutBucketReferer, consulte put-bucket-referer.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

AccessDenied

403

Você não tem autorização para executar a operação PutBucketReferer. Somente o proprietário do bucket pode iniciar solicitações PutBucketReferer.

InvalidDigest

400

O valor Content-MD5 do corpo da mensagem calculado pelo OSS difere do valor Content-MD5 no cabeçalho da solicitação. Após o upload do cabeçalho Content-MD5, o OSS calcula o hash MD5 com base no corpo da mensagem e verifica se ele corresponde ao valor Content-MD5 especificado no cabeçalho. Caso haja divergência entre os hashes MD5, este código de erro é retornado.

InlineDataTooLarge

400

As listas de permissões e bloqueios de Referer excedem o limite máximo de 20 KB. Reduza o número de entradas nas listas de permissões e bloqueios de Referer.