Tous les produits
Search
Centre de documentation

CDN:Configurer une liste noire ou une liste blanche de Referer

Dernière mise à jour :Aug 18, 2026

Une liste noire ou une liste blanche de Referer contrôle l'accès à vos ressources en fonction de l'en-tête Referer des requêtes HTTP. Cette fonctionnalité empêche le hotlinking et l'utilisation non autorisée des ressources. Une fois configurée, CDNDCDN évalue l'en-tête Referer pour accorder ou refuser l'accès.

Important
  • Par défaut, la fonctionnalité de liste noire/liste blanche de Referer pour Alibaba Cloud CDNDCDN est désactivée, ce qui permet à n'importe quel site web d'accéder à vos ressources.

  • Les listes noires et blanches de Referer constituent l'une des méthodes de prévention du hotlinking. Pour découvrir d'autres méthodes, consultez la rubrique Bonnes pratiques pour prévenir le hotlinking.

  • Lorsque vous ajoutez un nom de domaine tel que aliyundoc.com à une liste de Referer, CDNDCDN applique la règle au domaine lui-même ainsi qu'à tous ses sous-domaines (par exemple *.aliyundoc.com).

Structure d'un Referer

L'en-tête Referer indique l'URL de la page à l'origine de la requête. Une URL de Referer se compose d'un schéma, d'un domaine, d'un chemin et de paramètres de requête, comme illustré dans la figure suivante.

image
Remarque
  • La valeur d'un en-tête Referer est essentiellement une URL.

  • Alibaba Cloud prend en charge les configurations de Referer basées uniquement sur le domaine. Pour activer cette option, sélectionnez l'option Ignore Scheme.

Cas d'utilisation

Une liste noire ou une liste blanche de Referer protège principalement les ressources de votre site web contre les liens directs ou l'utilisation par d'autres sites web. Les cas d'utilisation courants incluent :

  • Protection des droits d'auteur : pour les sites web contenant du contenu protégé par le droit d'auteur, vous pouvez utiliser une liste blanche de Referer pour restreindre l'accès aux seuls sites web autorisés.

  • Prévention du hotlinking : une liste blanche garantit que vos ressources ne sont accessibles qu'à partir de sites web spécifiques, empêchant ainsi d'autres sites de consommer votre bande passante en créant des liens directs vers votre contenu.

  • Sécurité renforcée du site web : en n'autorisant que certains sites web à accéder à vos ressources, vous pouvez prévenir le hotlinking malveillant, les accès non autorisés et le vol d'informations sensibles.

  • Contrôle de la source du trafic : vous pouvez restreindre le trafic provenant de sites web spécifiques afin de contrôler les sources de trafic et d'améliorer la stabilité et la sécurité de votre site web.

Fonctionnement

Un point de présence (POP) vérifie l'en-tête Referer de chaque requête. Si le Referer ne figure pas dans la liste blanche ou s'il figure dans la liste noire, le POP rejette la requête. Cela permet d'économiser de la bande passante et de réduire la charge sur le serveur d'origine. CDNDCDN utilise les règles suivantes pour traiter les requêtes Referer :

  • Si le Referer d'une requête correspond à une entrée de la liste noire ou ne correspond à aucune entrée de la liste blanche, CDNDCDN rejette la requête.

  • Si le Referer d'une requête correspond à une entrée de la liste blanche, CDNDCDN autorise la requête.

image

Remarques relatives à l'utilisation

  • Après avoir configuré une liste noire de Referer, les requêtes provenant de sources figurant sur la liste noire peuvent toujours atteindre les POP CDNDCDN. Toutefois, ces requêtes sont rejetées avec un code d'état 403 et enregistrées dans les journaux CDNDCDN.

  • La fonctionnalité de liste noire/liste blanche de Referer applique un contrôle d'accès basé sur l'en-tête Referer d'une requête HTTP. Le blocage des requêtes entraîne des frais minimes pour le trafic généré. Pour HTTPS, vous êtes également facturé par requête.

  • Étant donné que le hotlinking CDN provient d'un accès via le réseau public, les règles de Referer s'appliquent uniquement aux noms de domaine publics.

Procédure

  1. Connectez-vous à la console CDN.

  2. Dans le volet de navigation de gauche, cliquez sur Domain Names.

  3. Sur la page Domain Names, recherchez le nom de domaine cible et cliquez sur Manage dans la colonne Actions.

  4. Dans le volet de navigation du domaine, cliquez sur Access Control.

  5. Sous l'onglet Referer Black/Whitelist, cliquez sur Modify.

  6. Configurez les paramètres de Referer. Pour plus d'informations, consultez la section Paramètres de configuration de Referer.

  7. Cliquez sur OK pour enregistrer la configuration.

Paramètres de configuration de Referer

Paramètre

Description

Type

  • Blacklist

    Le POP refuse l'accès aux requêtes contenant un Referer figurant dans la liste noire.

  • Whitelist

    Le POP n'autorise que les requêtes contenant un Referer figurant dans la liste blanche.

Remarque

Les listes noires et les listes blanches s'excluent mutuellement. Vous ne pouvez sélectionner qu'un seul type à la fois.

Rules

  • Vous pouvez ajouter plusieurs Referers. Séparez chaque entrée par un saut de ligne.

  • Vous pouvez utiliser un astérisque () comme caractère générique pour faire correspondre tous les sous-domaines. Par exemple, .example.com correspond à tous les sous-domaines de example.com.

  • Si vous ne spécifiez pas de caractère générique, une entrée correspond à la fois au domaine lui-même et à tous ses sous-domaines. Par exemple, une entrée pour example.com correspond à la fois à example.com et à *.example.com.

Remarque
  • La taille totale de toutes les règles d'une liste de Referer ne peut pas dépasser 60 Ko.

  • Il n'est pas nécessaire d'inclure le schéma dans les règles.

Redirect URL

Si une requête est bloquée, le POP renvoie une redirection 302 avec un en-tête de réponse Location. Ce paramètre spécifie la valeur de l'en-tête Location. L'URL doit commencer par http:// ou https://. Exemple : http://www.example.com.

Advanced Settings

Allow resource URL access from browsers

Cette option est désactivée par défaut. Si vous sélectionnez cette option, les requêtes avec un referer vide ne sont pas bloquées et sont autorisées à accéder à la ressource, quels que soient les paramètres de votre liste.

Un referer vide est défini comme l'un des éléments suivants :

  • La requête n'inclut pas d'en-tête Referer.

  • La valeur de l'en-tête Referer est vide.

Exact Match

Cette option est désactivée par défaut. Si vous sélectionnez cette option, le comportement par défaut de mise en correspondance des sous-domaines est désactivé. Si vous n'utilisez pas de caractère générique, une entrée telle que example.com correspond uniquement à example.com.

Ignore Scheme

  • Si l'option Ignore Scheme est désactivée, l'en-tête Referer doit inclure un schéma HTTP ou HTTPS.

  • Si vous sélectionnez l'option Ignore Scheme, l'en-tête Referer n'est pas obligé d'inclure un schéma.

Rule Condition

Une condition de règle identifie diverses informations de paramètre dans une requête utilisateur. Cela détermine si une configuration prend effet pour cette requête.

Important

Lorsque vous référencez des conditions de règle, elles sont mises en correspondance en fonction de la priorité des conditions de règle associées, et non de l'ordre de configuration de la fonctionnalité elle-même.

  • Do not use : n'utilise pas de condition de règle.

  • Pour ajouter ou modifier des conditions de règle, gérez-les dans le Rules Engine.

Vérification de la configuration

Utilisez la commande curl pour tester votre configuration. Utilisez l'option -e pour spécifier la valeur du referer et l'option -I pour récupérer uniquement les en-têtes de réponse du nom de domaine accéléré. Les exemples suivants utilisent une liste blanche pour la vérification.

Scénario 1 : paramètre Rules uniquement

Remarque
  1. Dans ce scénario, une règle de Referer pour aliyun.com est configurée. Les paramètres Redirect URL, Advanced Settings et Rule Condition ne sont pas configurés.

  2. Cette configuration correspond aux requêtes contenant un Referer provenant de http(s)://aliyun.com ou de ses sous-domaines. Les requêtes dont les Referers ne figurent pas dans la liste blanche sont rejetées.

  1. Testez l'accès avec un Referer provenant du domaine principal. Commande : curl -e http://aliyun.com -I <accelerated_domain_name>.

    HTTP/1.1 200 OK
    Server: Tengine
  2. Testez l'accès avec un Referer provenant d'un sous-domaine. Commande : curl -e http://sub.aliyun.com -I <accelerated_domain_name>.

    HTTP/1.1 200 OK
    Server: Tengine
  3. Testez l'accès avec un Referer provenant d'un domaine différent. Commande : curl -e http://aIiyun.com -I <accelerated_domain_name>.

    HTTP/1.1 403 Forbidden
    Server: Tengine
  4. Testez l'accès avec un Referer vide. Commande : curl -e "" -I <accelerated_domain_name>.

    HTTP/1.1 403 Forbidden
    Server: Tengine
  5. Testez l'accès avec un Referer comportant uniquement le domaine. Commande : curl -e aliyun.com -I <accelerated_domain_name>.

    HTTP/1.1 403 Forbidden
    Server: Tengine

Scénario 2 : Rule et Allow resource URL access from browsers

Remarque
  1. Dans ce scénario, la règle de Referer est définie sur aliyun.com et l'option Allow direct access to resource URLs from browsers est sélectionnée. Les autres paramètres avancés, l'URL de redirection et la condition de règle ne sont pas configurés.

  2. Par rapport au scénario 1, cette configuration autorise également les requêtes avec un Referer vide, telles que les requêtes provenant d'un accès direct via le navigateur.

  1. Testez l'accès sans Referer. Commande : curl -I <accelerated_domain_name>.

    HTTP/1.1 200 OK
    Server: Tengine
  2. Testez l'accès avec une valeur de Referer vide (""). Commande : curl -e "" -I <accelerated_domain_name>.

    HTTP/1.1 200 OK
    Server: Tengine

Scénario 3 : Rule et Ignore Scheme

Remarque
  1. Dans ce scénario, la règle de Referer est définie sur aliyun.com et l'option Ignore Scheme est sélectionnée. Les autres paramètres avancés, l'URL de redirection et la condition de règle ne sont pas configurés.

  2. Cette configuration est similaire au scénario 1, mais elle autorise également les requêtes de Referer qui n'incluent pas de schéma, telles qu'une requête avec uniquement le nom de domaine aliyun.com.

Testez l'accès avec un Referer qui ne comporte pas de schéma. Commande : curl -e aliyun.com -I <accelerated_domain_name>.

HTTP/1.1 200 OK
Server: Tengine

FAQ

Schéma de Referer manquant

Dans la plupart des cas, l'en-tête Referer d'une requête utilisateur inclut un schéma HTTP ou HTTPS. Toutefois, dans certaines situations, le Referer peut ne pas inclure de schéma.

Un scénario courant se produit lorsqu'un utilisateur navigue d'un site web non sécurisé (qui utilise HTTP) vers un site web sécurisé (qui utilise HTTPS). Les navigateurs peuvent modifier ou supprimer l'en-tête Referer en fonction des politiques de sécurité, telles que Referrer-Policy, afin de protéger les données des utilisateurs. Dans ce cas, l'en-tête Referer peut contenir uniquement le domaine, sans le schéma.

De plus, certains navigateurs ou serveurs proxy peuvent automatiquement supprimer l'en-tête Referer dans des situations spécifiques, par exemple lors de l'utilisation du mode de navigation privée ou lorsque l'accès à un site web s'effectue via un proxy anonyme.

Par conséquent, vous devez prendre en compte les requêtes qui ne comportent pas de schéma dans l'en-tête Referer. Si vous souhaitez mettre en correspondance ce type de requêtes, sélectionnez l'option Ignore Scheme.

Gestion des Referers vides

Un Referer vide se produit lorsque l'en-tête Referer est absent d'une requête HTTP ou que sa valeur est vide. L'en-tête Referer d'une requête contient généralement un URI complet qui inclut le schéma (tel que http ou https), un nom d'hôte et éventuellement un chemin et une chaîne de requête. Un referer vide peut se produire dans les scénarios suivants :

  • Accès direct : lorsqu'un utilisateur saisit directement une URL dans la barre d'adresse du navigateur, utilise un signet ou ouvre un lien dans un nouvel onglet vierge, aucune page référente n'existe. Par conséquent, l'en-tête Referer est vide.

  • Confidentialité de l'utilisateur : un utilisateur ou un logiciel utilisé par l'utilisateur, tel qu'une extension de navigateur ou un mode privé, peut intentionnellement supprimer l'en-tête Referer pour protéger la confidentialité.

  • Protocole de sécurité : lorsqu'un utilisateur navigue d'une page HTTPS vers une page HTTP, le navigateur n'envoie généralement pas l'en-tête Referer afin d'éviter la fuite d'informations sensibles.

  • Politique côté client : certains sites web ou applications peuvent contrôler si l'en-tête Referer est envoyé pour des raisons de sécurité en définissant une balise <meta> ou un en-tête HTTP tel que Referrer-Policy.

  • Requête cross-origin : certaines requêtes cross-origin peuvent ne pas inclure l'en-tête Referer en raison des politiques de sécurité du navigateur.

La manière dont vous gérez les requêtes avec un Referer vide dépend de votre cas d'utilisation spécifique et de vos exigences en matière de sécurité. Voici quelques recommandations :

  • Politique par défaut : si votre service ne repose pas sur les informations de Referer pour prendre des décisions, vous pouvez autoriser les requêtes avec un Referer vide.

  • Autoriser l'accès : pour des URL ou des origines spécifiques, vous pouvez sélectionner l'option Allow resource URL access from browsers. Cela permet l'accès même si le Referer est vide. Dans ce cas, les POP CDN and DCDN accordent l'accès à la ressource.