Configurez une liste d'autorisation ou de blocage de Referer pour un compartiment Object Storage Service (OSS).
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'opération via des stratégies RAM ou une stratégie de compartiment.
|
API |
Action |
Description |
|
PutBucketReferer |
oss:PutBucketReferer |
Configure la protection contre le hotlinking pour un compartiment. |
Syntaxe de la requête
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>
Éléments de la requête
|
Élément |
Type |
Obligatoire |
Exemple |
Description |
|
RefererConfiguration |
Conteneur |
Oui |
N/A |
Conteneur qui stocke les configurations de protection contre le hotlinking. Nœuds enfants : AllowEmptyReferer, AllowTruncateQueryString et RefererList Nœuds parents : aucun |
|
AllowEmptyReferer |
Chaîne énumérée |
Oui |
false |
Indique si une requête dont le champ Referer est vide est autorisée. Valeurs valides :
Nœud parent : RefererConfiguration |
|
AllowTruncateQueryString |
Chaîne énumérée |
Non |
true |
Indique si la chaîne de requête dans l'URL est tronquée lorsque le Referer correspond. Valeurs valides :
Nœud parent : RefererConfiguration |
|
TruncatePath |
Chaîne énumérée |
Non |
true |
Indique si le chemin d'accès et les parties qui suivent le chemin d'accès dans l'URL sont tronqués lorsque le Referer correspond. Valeurs valides :
Nœud parent : RefererConfiguration |
|
RefererList |
Conteneur |
Oui |
N/A |
Conteneur qui stocke la liste d'autorisation de Referer. Remarque
L'opération PutBucketReferer remplace la liste d'autorisation de Referer existante par celle spécifiée dans RefererList. Si RefererList n'est pas spécifié dans la requête, ce qui indique qu'aucun élément Referer n'est inclus, l'opération PutBucketReferer efface la liste d'autorisation de Referer existante. Nœud parent : RefererConfiguration Nœud enfant : Referer |
|
RefererBlacklist |
Conteneur |
Non |
N/A |
Conteneur qui stocke la liste de blocage de Referer. Remarque
L'opération PutBucketReferer remplace la liste de blocage de Referer existante par celle spécifiée dans RefererBlacklist. Si RefererBlacklist n'est pas spécifié dans la requête, ce qui indique qu'aucun élément Referer n'est inclus, l'opération PutBucketReferer efface la liste de blocage de Referer existante. Nœud parent : RefererConfiguration Nœud enfant : Referer |
|
Referer |
Chaîne |
Non |
http://www.aliyun.com |
Adresses figurant dans la liste d'autorisation ou de blocage de Referer. Nœuds parents : RefererList ou RefererBlacklist |
Pour plus d'informations sur les en-têtes de requête communs de l'opération PutBucketReferer, tels que Host et Date, consultez les en-têtes de requête communs.
En-têtes de réponse
Tous les en-têtes de la réponse à une requête PutBucketReferer sont des en-têtes de réponse communs. Pour plus d'informations, consultez les en-têtes de réponse communs.
Exemples
Exemples de requêtes
-
Exemple de requête ne contenant ni liste d'autorisation ni liste de blocage 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> -
Exemple de requête contenant uniquement une liste d'autorisation 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> -
Exemple de requête contenant une liste d'autorisation et une liste de blocage 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>
Exemple de réponse
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
Kits SDK OSS
Vous pouvez utiliser les kits SDK OSS pour les langages de programmation suivants afin d'appeler l'opération PutBucketReferer :
ossutil
Pour obtenir des informations sur la commande ossutil correspondant à l'opération PutBucketReferer, consultez put-bucket-referer.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
AccessDenied |
403 |
Vous n'êtes pas autorisé à effectuer l'opération PutBucketReferer. Seul le propriétaire d'un compartiment peut initier des requêtes PutBucketReferer. |
|
InvalidDigest |
400 |
La valeur Content-MD5 du corps du message calculée par OSS est incohérente avec la valeur Content-MD5 de l'en-tête de requête. Après le téléchargement de l'en-tête de requête Content-MD5, OSS calcule le hachage MD5 en fonction du corps du message et vérifie si le hachage MD5 calculé est identique à la valeur Content-MD5 spécifiée dans l'en-tête de requête. Si les hachages MD5 sont incohérents, ce code d'erreur est renvoyé. |
|
InlineDataTooLarge |
400 |
La liste d'autorisation et la liste de blocage de Referer dépassent la limite supérieure de 20 Ko. Réduisez le nombre d'entrées dans la liste d'autorisation et la liste de blocage de Referer. |