Todos os produtos
Search
Central de documentação

Object Storage Service:PutBucketReferer

Última atualização: Sep 22, 2026

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

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM sob uma conta Alibaba Cloud não possuem nenhuma permissão por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de RAM policies ou Bucket Policy.

API

Ação

Descrição

PutBucketReferer

oss:PutBucketReferer

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

Sintaxe da requisiçã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 requisição

Elemento

Tipo

Obrigatório

Exemplo

Descrição

RefererConfiguration

Contêiner

Sim

N/D

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

Nós filhos: AllowEmptyReferer, AllowTruncateQueryString e RefererList

Nós pais: nenhum

AllowEmptyReferer

String enumerada

Sim

false

Especifica se deve permitir uma requisição cujo campo Referer esteja vazio. Valores válidos:

  • true (padrão)

  • false

Nós pais: RefererConfiguration

AllowTruncateQueryString

String enumerada

Não

true

Especifica se deve truncar a string de consulta na URL quando o Referer for correspondido. Valores válidos:

  • true

  • false (padrão)

Nós pais: RefererConfiguration

TruncatePath

String enumerada

Não

true

Especifica se deve truncar o caminho e as partes que o seguem na URL quando o Referer for correspondido. Valores válidos:

  • true

    Importante

    Caso defina TruncatePath como true, o valor de AllowTruncateQueryString também deve ser true, pois a string de consulta vem após o componente de caminho. Quando o caminho é truncado, a string de consulta também é truncada.

  • false (padrão)

Nós pais: RefererConfiguration

RefererList

Contêiner

Sim

N/D

O 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 de permissões de Referer especificada em RefererList. Se RefererList não for especificado na requisição, o que indica que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de permissões de Referer existente.

Nós pais: RefererConfiguration

Nós filhos: Referer

RefererBlacklist

Contêiner

Não

N/D

O 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 de bloqueios de Referer especificada em RefererBlacklist. Se RefererBlacklist não for especificado na requisição, o que indica que nenhum elemento Referer está incluído, a operação PutBucketReferer limpa a lista de bloqueios de Referer existente.

Nós pais: RefererConfiguration

Nós filhos: Referer

Referer

String

Não

http://www.aliyun.com

Os endereços na lista de permissões ou lista de bloqueios de Referer.

Nós pais: RefererList ou RefererBlacklist

Para mais informações sobre os cabeçalhos de requisição comuns na operação PutBucketReferer, como Host e Date, consulte Common request headers.

Cabeçalhos de resposta

Todos os cabeçalhos na resposta a uma requisição PutBucketReferer são cabeçalhos de resposta comuns. Para mais informações, consulte Common response headers.

Exemplos

Requisições de exemplo

  • Requisição de exemplo que não contém uma lista de permissões de Referer nem uma 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>                            
  • Requisição de exemplo que contém 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>                            
  • Requisição de exemplo que contém uma lista de permissões de Referer e uma 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

Você pode usar os SDKs do OSS para as seguintes linguagens de programação a fim de chamar a operação PutBucketReferer:

ossutil

Para obter informações sobre o comando do ossutil que corresponde à 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. Apenas o proprietário de um bucket pode iniciar requisições PutBucketReferer.

InvalidDigest

400

O valor Content-MD5 do corpo da mensagem calculado pelo OSS é inconsistente com o valor Content-MD5 no cabeçalho da requisição. Após o upload do cabeçalho de requisição Content-MD5, o OSS calcula o hash MD5 com base no corpo da mensagem e verifica se o hash MD5 calculado é igual ao valor Content-MD5 especificado no cabeçalho da requisição. Se os hashes MD5 forem inconsistentes, este código de erro será retornado.

InlineDataTooLarge

400

A lista de permissões e a lista de bloqueios de Referer excedem o limite superior de 20 KB. Reduza as entradas nas listas de permissões e de bloqueios de Referer.