[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Bloquer le spam de référence

L’exemple suivant montre comment configurer Fastly Edge Dictionary avec un fragment de code VCL personnalisé pour bloquer le spam de référence provenant de votre Adobe Commerce sur le site d’infrastructure cloud.

NOTE
Nous vous recommandons d’ajouter des configurations VCL personnalisées à un environnement d’évaluation où vous pouvez les tester avant de les exécuter dans l’environnement de production.

Conditions préalables :

  • Votre environnement doit être configuré pour utiliser le réseau CDN Fastly. Voir Configuration des services Fastly.

  • Assurez-vous d’exécuter la dernière version du module Fastly CDN pour le Magento 2. Voir Mise à niveau du module Fastly.

  • Vérifiez la configuration de l’environnement pour le service Fastly . Voir Vérification de la mise en cache rapide.

  • Vous devez disposer des informations d’identification d’administrateur pour accéder aux environnements d’évaluation et de production.

  • Vérifiez les journaux de votre site à la recherche de fausses URL de référence et dressez une liste de domaines à bloquer.

Création d’une liste bloquée référent

Les dictionnaires Edge créent des paires clé-valeur accessibles aux fonctions VCL pendant le traitement des fragments de code VCL. Dans cet exemple, vous allez créer un dictionnaire Edge qui fournit la liste des sites web référents à bloquer.

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Dictionnaires Edge.

  4. Créez le conteneur Dictionnaire :

    • Cliquez sur Ajouter un conteneur.

    • Sur la page Conteneur, saisissez un Nom du dictionnairereferrer_blocklist.

    • Sélectionnez Activer après la modification pour déployer vos modifications sur la version de la configuration de service Fastly que vous modifiez.

    • Cliquez sur Télécharger pour joindre le dictionnaire à votre configuration de service Fastly.

  5. Ajoutez la liste des noms de domaine à bloquer dans le dictionnaire referrer_blocklist :

    • Cliquez sur l’icône Paramètres du dictionnaire de referrer_blocklist.

    • Ajoutez et enregistrez les paires clé-valeur dans le nouveau dictionnaire. Pour cet exemple, chaque Clé est le nom de domaine d’une URL référente à bloquer et Valeur est true.

      Ajouter des éléments du dictionnaire de référents incorrects

    • Cliquez sur Annuler pour revenir à la page de configuration du système.

  6. Cliquez sur Enregistrer la configuration.

  7. Actualisez le cache en fonction de la notification envoyée en haut de la page.

Pour plus d’informations sur les dictionnaires Edge, voir Création et utilisation de dictionnaires Edge et fragments de code VCL personnalisés dans la documentation Fastly.

Créer un fragment de code VCL personnalisé pour bloquer le spam des référents

Le code de fragment de code VCL personnalisé suivant (format JSON) montre la logique pour vérifier et bloquer les requêtes. Le fragment de code VCL capture l’hôte d’un site web référent dans un en-tête, puis compare le nom d’hôte à la liste des URL du dictionnaire de referrer_blocklist. Si le nom d’hôte correspond, la requête est bloquée avec une erreur 403 Forbidden.

{
  "name": "block_bad_referrer",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if (req.http.Referer ~ \"^(.*:)//([A-Za-z0-9\-\.]+)(:[0-9]+)?(.*)$\") {set req.http.Referer-Host = re.group.2;}if (table.lookup(referrer_blocklist, req.http.Referer-Host)) {error 403 \"Forbidden\";}"
}

Avant de créer un fragment de code basé sur cet exemple, passez en revue les valeurs pour déterminer si vous devez apporter des modifications :

  • name — Nom du fragment de code VCL. Pour cet exemple, nous avons utilisé block_bad_referrer.

  • dynamic — La valeur 0 indique un fragment de code normal à charger vers le VCL avec version pour la configuration Fastly.

  • priority — Détermine quand le fragment de code VCL s'exécute. La priorité est 5 pour exécuter ce code de fragment de code avant que l’un des fragments de code VCL Magento par défaut (magentomodule_*) ne se voie attribuer une priorité de 50. Définissez une priorité supérieure ou inférieure à 50 pour chaque fragment de code personnalisé en fonction du moment où vous souhaitez que votre fragment de code s’exécute. Les fragments de code dont le numéro de priorité est inférieur s’exécutent en premier.

  • type — Spécifie un emplacement pour insérer le fragment de code dans la version VCL. Dans cet exemple, le fragment de code VCL est un fragment de code recv. Lorsque le fragment de code est inséré dans la version VCL, il est ajouté à la sous-routine vcl_recv, sous le code VCL Fastly par défaut et au-dessus de tous les objets.

  • content — Fragment de code VCL à exécuter sur une ligne, sans sauts de ligne.

Après avoir examiné et mis à jour le code de votre environnement, utilisez l’une des méthodes suivantes pour ajouter le fragment de code VCL personnalisé à votre configuration de service Fastly :

Ajouter le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

  4. Cliquez sur Créer un fragment de code personnalisé.

  5. Ajoutez les valeurs de fragment de code VCL :

    • Nomblock_bad_referrer

    • Typerecv

    • Priorité5

    • VCL contenu de fragment de code —

      code language-conf
      if (req.http.Referer ~ "^(.*:)//([A-Za-z0-9\-\.]+)(:[0-9]+)?(.*)$") {
        set req.http.Referer-Host = re.group.2;
      }
      if (table.lookup(referrer_blocklist, req.http.Referer-Host)) {
        error 403 "Forbidden";
      }
      
  6. Cliquez sur Créer.

    Créer un fragment de code VCL de bloc référent personnalisé

  7. Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly.

  8. Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.

Valide rapidement la version VCL mise à jour pendant le processus de chargement. Si la validation échoue, modifiez votre fragment de code VCL personnalisé pour résoudre les problèmes. Ensuite, chargez à nouveau le VCL.

NOTE
Au lieu de charger manuellement des fragments de code VCL personnalisés, vous pouvez les ajouter au répertoire $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom dans votre environnement. Les fragments de code présents dans ce répertoire sont chargés automatiquement lorsque vous cliquez sur charger un fichier VCL vers Fastly dans Commerce Admin. Consultez la section Déploiement automatisé de fragments de code VCL personnalisés dans la documentation du module Fastly CDN pour Magento 2 .

Modifier le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

    Gestion des fragments de code VCL personnalisés

  4. Dans la colonne Action, cliquez sur l’icône de paramètres en regard du fragment de code à modifier.

  5. Une fois la page rechargée, cliquez sur Télécharger VCL vers Fastly dans la section Configuration Fastly.

  6. Une fois le chargement terminé, actualisez le cache en fonction de la notification en haut de la page.

WARNING
L’option d’interface utilisateur Fragments de code VCL personnalisés affiche uniquement les fragments de code ajoutés par l’intermédiaire de l’administrateur Adobe Commerce. Si vous ajoutez des fragments de code à l’aide de l’API Fastly, utilisez l’API pour les gérer.

Supprimer le fragment de code VCL personnalisé

  1. Connectez-vous à l’administrateur.

  2. Cliquez sur Magasins > Paramètres > Configuration > Avancé > Système.

  3. Développez Cache de page complet > Configuration rapide > Fragments de code VCL personnalisés.

    Gestion des fragments de code VCL personnalisés

  4. Dans la colonne Action, cliquez sur l’icône de la corbeille en regard du fragment de code à supprimer.

  5. Dans la fenêtre modale suivante, cliquez sur DELETE et activez une nouvelle version.

WARNING
L’option d’interface utilisateur Fragments de code VCL personnalisés affiche uniquement les fragments de code ajoutés par l’intermédiaire de l’administrateur Adobe Commerce. Si vous ajoutez des fragments de code à l’aide de l’API Fastly, utilisez l’API pour les gérer.
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938