Spam für Verweise blockieren

Das folgende Beispiel zeigt, wie Sie Fastly Edge Dictionary mit einem benutzerdefinierten VCL-Snippet konfigurieren, um Empfehlungs-Spam aus Ihrem Adobe Commerce auf der Cloud-Infrastruktur-Site zu blockieren.

NOTE
Es wird empfohlen, benutzerdefinierte VCL-Konfigurationen zu einer Staging-Umgebung hinzuzufügen, in der Sie sie testen können, bevor Sie sie mit der Produktionsumgebung ausführen.

Voraussetzungen:

  • Ihre Umgebung muss für die Verwendung des Fastly CDN konfiguriert sein. Siehe Fastly-Services konfigurieren.

  • Stellen Sie sicher, dass Sie die neueste Version des Fastly CDN-Moduls für Magento 2 ausführen. Siehe Upgrade des Fastly-.

  • Überprüfen Sie die Umgebungskonfiguration für den Fastly-Service. Siehe Prüfen von Fastly-Caching.

  • Sie müssen über Administratorberechtigungen verfügen, um auf die Staging- und Produktionsumgebungen zugreifen zu können.

  • Überprüfen Sie Ihre Site-Protokolle auf gefälschte Verweis-URLs und erstellen Sie eine Liste der zu blockierenden Domains.

Erstellen einer Referrer-Blockierungsliste

Edge-Wörterbücher erstellen Schlüssel-Wert-Paare, auf die während der Verarbeitung von VCL-Ausschnitten VCL-Funktionen zugreifen können. In diesem Beispiel erstellen Sie ein Edge-Wörterbuch, das die Liste der zu blockierenden Referrer-Websites bereitstellt.

  1. Anmelden beim Administrator.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Erweitert > System.

  3. Erweitern Sie Vollständiger Seitencache > Fastly-Konfiguration > Edge-Wörterbücher.

  4. Erstellen Sie den Wörterbuch-Container:

    • Klicken Sie Container hinzufügen.

    • Geben Sie auf Seite Container“ einen Wörterbuchnamen-referrer_blocklist ein.

    • Wählen Sie Aktivieren nach der Änderung aus, um Ihre Änderungen für die Version der Fastly-Service-Konfiguration bereitzustellen, die Sie bearbeiten.

    • Klicken Sie Hochladen, um das Wörterbuch an Ihre Fastly-Service-Konfiguration anzuhängen.

  5. Fügen Sie die Liste der Domain-Namen hinzu, die dem referrer_blocklist blockiert werden sollen:

    • Klicken Sie auf das Symbol Einstellungen für das referrer_blocklist.

    • Hinzufügen und Speichern von Schlüssel-Wert-Paaren im neuen Wörterbuch. In diesem Beispiel ist jeder Schlüssel der Domain-Name einer zu blockierenden Referrer-URL und Wert wird true.

      Ungültige Referrer-Wörterbuchelemente hinzufügen

    • Klicken Sie Abbrechen, um zur Systemkonfigurationsseite zurückzukehren.

  6. Klicken Sie Konfiguration speichern.

  7. Aktualisieren Sie den Cache entsprechend der Benachrichtigung oben auf der Seite.

Weitere Informationen zu Edge-Wörterbüchern finden Sie unter Erstellen und Verwenden von Edge und benutzerdefinierte VCL-Snippets in der Fastly-Dokumentation.

Erstellen eines benutzerdefinierten VCL-Snippets zum Blockieren von Referrer-Spam

Der folgende benutzerdefinierte VCL-Code-Ausschnitt (JSON-Format) zeigt die Logik zum Überprüfen und Blockieren von Anfragen. Das VCL-Snippet erfasst den Host einer Referrer-Website in einer Kopfzeile und vergleicht dann den Host-Namen mit der Liste der URLs im referrer_blocklist. Wenn der Host-Name übereinstimmt, wird die Anfrage mit einem 403 Forbidden Fehler blockiert.

{
  "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\";}"
}

Bevor Sie einen Ausschnitt basierend auf diesem Beispiel erstellen, überprüfen Sie die Werte, um festzustellen, ob Sie Änderungen vornehmen müssen:

  • name — Name des VCL-Snippets. Für dieses Beispiel haben wir block_bad_referrer verwendet.

  • dynamic - Wert 0 zeigt einen regulären Ausschnitt an, der für die Fastly-Konfiguration in die versionierte VCL hochgeladen werden soll.

  • priority - Bestimmt, wann der VCL-Snippet ausgeführt wird. Die Priorität 5 darin, diesen Code vor einem der standardmäßigen Magento-VCL-Snippets (magentomodule_*) auszuführen, denen eine Priorität von 50 zugewiesen wurde. Legen Sie die Priorität für jeden benutzerdefinierten Ausschnitt auf einen Wert von über oder unter 50 fest, je nachdem, wann der Ausschnitt ausgeführt werden soll. Snippets mit Zahlen niedrigerer Priorität werden zuerst ausgeführt.

  • type - Gibt einen Speicherort an, an dem der Ausschnitt in die VCL-Version eingefügt werden soll. In diesem Beispiel ist der VCL-Ausschnitt ein recv. Wenn der Ausschnitt in die VCL-Version eingefügt wird, wird er der vcl_recv-Unterroutine, unterhalb des standardmäßigen Fastly-VCL-Codes und über allen Objekten hinzugefügt.

  • content - Der Ausschnitt des VCL-Codes, der in einer Zeile ohne Zeilenumbrüche ausgeführt werden soll.

Nachdem Sie den Code für Ihre Umgebung überprüft und aktualisiert haben, verwenden Sie eine der folgenden Methoden, um das benutzerdefinierte VCL-Snippet zu Ihrer Fastly-Service-Konfiguration hinzuzufügen:

Hinzufügen des benutzerdefinierten VCL-Snippets

  1. Anmelden beim Administrator.

  2. Klicken Sie Stores > Einstellungen > Konfiguration > Erweitert > System.

  3. Erweitern Sie Vollständiger Seitencache > Fastly-Konfiguration > Benutzerdefinierte VCL-Snippets.

  4. Klicken Sie Benutzerdefiniertes Snippet erstellen.

  5. Fügen Sie die VCL-Snippet-Werte hinzu:

    • Nameblock_bad_referrer

    • Typrecv

    • Priorität5

    • VCL Snippet-Inhalt —

      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. Klicken Sie Erstellen.

    Erstellen eines benutzerdefinierten Referrer-Block-VCL-Snippets

  7. Nachdem die Seite neu geladen wurde, klicken Sie im Abschnitt Fastly-Konfiguration auf VCL zu Fastly.

  8. Aktualisieren Sie nach Abschluss des Uploads den Cache entsprechend der Benachrichtigung oben auf der Seite.

Validiert die aktualisierte VCL-Version während des Upload-Prozesses schnell. Wenn die Validierung fehlschlägt, bearbeiten Sie Ihr benutzerdefiniertes VCL-Snippet, um alle Probleme zu beheben. Laden Sie dann die VCL erneut hoch.

NOTE
Anstatt benutzerdefinierte VCL-Snippets manuell hochzuladen, können Sie Snippets zum $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom in Ihrer Umgebung hinzufügen. Snippets in diesem Verzeichnis werden automatisch hochgeladen, wenn Sie im Commerce-Admin auf VCL zu Fastly hochladen) klicken. Siehe Automatisierte Bereitstellung benutzerdefinierter VCL-Snippets im Fastly CDN-Modul für die Magento 2-Dokumentation.

Ändern des benutzerdefinierten VCL-Snippets

  1. Anmelden beim Administrator.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Erweitert > System.

  3. Erweitern Sie Vollständiger Seitencache > Fastly-Konfiguration > Benutzerdefinierte VCL-Snippets.

    Verwalten benutzerdefinierter VCL-Snippets

  4. Klicken Sie in Spalte Aktion“ auf das Einstellungssymbol neben dem Snippet, das bearbeitet werden soll.

  5. Nachdem die Seite neu geladen wurde, klicken Sie im Abschnitt Fastly-Konfiguration auf VCL zu Fastly.

  6. Aktualisieren Sie nach Abschluss des Uploads den Cache entsprechend der Benachrichtigung oben auf der Seite.

WARNING
Die Benutzeroberflächenoption „Benutzerdefinierte VCL Ausschnitte“ zeigt nur die Ausschnitte an, die über die Adobe Commerce-Admin hinzugefügt wurden. Wenn Sie Snippets mit der Fastly-API hinzufügen, verwenden Sie die API, um sie zu verwalten.

Löschen des benutzerdefinierten VCL-Snippets

  1. Anmelden beim Administrator.

  2. Klicken Sie auf Stores > Einstellungen > Konfiguration > Erweitert > System.

  3. Erweitern Sie Vollständiger Seitencache > Fastly-Konfiguration > Benutzerdefinierte VCL-Snippets.

    Verwalten benutzerdefinierter VCL-Snippets

  4. Klicken Sie in Spalte Aktion“ auf das Papierkorbsymbol neben dem zu löschenden Snippet.

  5. Klicken Sie im nächsten modalen Fenster auf DELETE aktivieren Sie eine neue Version.

WARNING
Die Benutzeroberflächenoption „Benutzerdefinierte VCL Ausschnitte“ zeigt nur die Ausschnitte an, die über die Adobe Commerce-Admin hinzugefügt wurden. Wenn Sie Snippets mit der Fastly-API hinzufügen, verwenden Sie die API, um sie zu verwalten.
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938