Blocca spam di riferimento

Nell'esempio seguente viene illustrato come configurare il dizionario Fastly Edge con uno snippet VCL personalizzato per bloccare lo spam di riferimento dal sito Adobe Commerce sul sito dell'infrastruttura cloud.

NOTE
È consigliabile aggiungere configurazioni VCL personalizzate a un ambiente di staging in cui è possibile testarle prima di eseguirle nell’ambiente di produzione.

Prerequisiti:

  • L’ambiente deve essere configurato per utilizzare la rete CDN Fastly. Vedere Configurare Fastly Services.

  • Assicurati di eseguire la versione più recente del modulo CDN Fastly per il Magento 2. Consulta Aggiornare il modulo Fastly.

  • Verifica la configurazione dell’ambiente per il servizio Fastly. Vedi Controlla Fastly caching.

  • Per accedere agli ambienti di staging e produzione è necessario disporre delle credenziali di amministratore.

  • Controlla i registri del sito per individuare falsi URL di riferimento e crea un elenco di domini da bloccare.

Creazione di un elenco Bloccati di referrer

I dizionari Edge creano coppie chiave-valore accessibili alle funzioni VCL durante l'elaborazione dello snippet VCL. In questo esempio, crei un dizionario perimetrale che fornisce l’elenco dei siti web di provenienza da bloccare.

  1. Accedi all'amministratore.

  2. Fai clic su Archivi > Impostazioni > Configurazione > Avanzate > Sistema.

  3. Espandere Cache a pagina intera > Configurazione rapida > Dizionari Edge.

  4. Crea il contenitore Dizionario:

    • Fai clic su Aggiungi contenitore.

    • Nella pagina Contenitore immettere un Nome dizionarioreferrer_blocklist.

    • Seleziona Attiva dopo la modifica per distribuire le modifiche alla versione della configurazione del servizio Fastly che stai modificando.

    • Fai clic su Carica per allegare il dizionario alla configurazione del servizio Fastly.

  5. Aggiungere l'elenco dei nomi di dominio da bloccare al dizionario referrer_blocklist:

    • Fare clic sull'icona Impostazioni per il dizionario referrer_blocklist.

    • Aggiungi e salva coppie chiave-valore nel nuovo dizionario. Per questo esempio, ogni Chiave è il nome di dominio di un URL referente da bloccare e Valore è true.

      Aggiungi elementi dizionario referrer non validi

    • Fai clic su Annulla per tornare alla pagina di configurazione del sistema.

  6. Fai clic su Salva configurazione.

  7. Aggiorna la cache in base alla notifica nella parte superiore della pagina.

Per ulteriori informazioni sui dizionari di Edge, vedere Creazione e utilizzo di dizionari di Edge e snippet VCL personalizzati nella documentazione Fastly.

Creare un frammento VCL personalizzato per bloccare lo spam del referente

Il seguente codice snippet VCL personalizzato (formato JSON) mostra la logica per controllare e bloccare le richieste. Lo snippet VCL acquisisce l'host di un sito Web di provenienza in un'intestazione, quindi confronta il nome host con l'elenco di URL nel dizionario referrer_blocklist. Se il nome host corrisponde, la richiesta viene bloccata con un errore 403 Forbidden.

{
  "name": "block_bad_referrer",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "set req.http.Referer-Host = regsub(req.http.Referer, \"^https?:\/\/?([^:\/s]+).*$\", \"\\1\"); if (table.lookup(referrer_blocklist, req.http.Referer-Host)) { error 403 \"Forbidden\"; }"
}

Prima di creare uno snippet basato su questo esempio, esaminare i valori per determinare se è necessario apportare modifiche:

  • name — Nome dello snippet VCL. In questo esempio è stato utilizzato block_bad_referrer.

  • dynamic — Il valore 0 indica un frammento normale da caricare nella VCL con versione per la configurazione Fastly.

  • priority — Determina quando viene eseguito lo snippet VCL. La priorità è 5 per eseguire questo codice snippet prima che a uno qualsiasi dei snippet VCL di Magento predefiniti (magentomodule_*) sia assegnata una priorità di 50. Impostare la priorità per ogni frammento personalizzato su un valore maggiore o minore di 50 a seconda di quando si desidera eseguire il frammento. I frammenti con numeri di priorità inferiore vengono eseguiti per primi.

  • type — specifica un percorso in cui inserire lo snippet nella versione VCL. In questo esempio, lo snippet VCL è uno snippet recv. Quando il frammento viene inserito nella versione VCL, viene aggiunto alla subroutine vcl_recv, sotto il codice VCL Fastly predefinito e sopra qualsiasi oggetto.

  • content — Frammento di codice VCL da eseguire in una riga, senza interruzioni di riga.

Dopo aver esaminato e aggiornato il codice per l’ambiente, utilizza uno dei metodi seguenti per aggiungere lo snippet VCL personalizzato alla configurazione del servizio Fastly:

Aggiungere lo snippet VCL personalizzato

  1. Accedi all'amministratore.

  2. Fai clic su Archivi > Impostazioni > Configurazione > Avanzate > Sistema.

  3. Espandi Cache a pagina intera > Configurazione rapida > Snippet VCL personalizzati.

  4. Fare clic su Crea snippet personalizzato.

  5. Aggiungi i valori dello snippet VCL:

    • Nome - block_bad_referrer

    • Tipo - recv

    • Priorità - 5

    • VCL contenuto frammento —

      code language-conf
      set req.http.Referer-Host = regsub(req.http.Referer,
      "^https?://?([^:/\s]+).*$", "1");
      if (table.lookup(referrer_blocklist, req.http.Referer-Host)) {
        error 403 "Forbidden";
      }
      
  6. Fai clic su Crea.

    Crea snippet VCL blocco referente personalizzato

  7. Dopo il ricaricamento della pagina, fai clic su Carica VCL in Fastly nella sezione Fastly Configuration.

  8. Al termine del caricamento, aggiorna la cache in base alla notifica nella parte superiore della pagina.

Convalida in breve la versione VCL aggiornata durante il processo di caricamento. Se la convalida non riesce, modifica il frammento VCL personalizzato per risolvere eventuali problemi. Quindi, carica nuovamente il file VCL.

NOTE
Anziché caricare manualmente snippet VCL personalizzati, è possibile aggiungere snippet alla directory $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom nell'ambiente. I frammenti in questa directory vengono caricati automaticamente quando si fa clic su carica VCL in Fastly in Commerce Admin. Consulta Distribuzione automatizzata di snippet VCL personalizzati nel modulo Fastly CDN per la documentazione del Magento 2.

Modificare lo snippet VCL personalizzato

  1. Accedi all'amministratore.

  2. Fai clic su Archivi > Impostazioni > Configurazione > Avanzate > Sistema.

  3. Espandi Cache a pagina intera > Configurazione rapida > Snippet VCL personalizzati.

    Gestione snippet VCL personalizzati

  4. Nella colonna Azione fare clic sull'icona delle impostazioni accanto al frammento da modificare.

  5. Dopo il ricaricamento della pagina, fai clic su Carica VCL in Fastly nella sezione Fastly Configuration.

  6. Al termine del caricamento, aggiorna la cache in base alla notifica nella parte superiore della pagina.

WARNING
L'opzione dell'interfaccia utente Snippet VCL personalizzati mostra solo i frammenti aggiunti tramite l'amministratore Adobe Commerce. Se aggiungi snippet utilizzando l'API Fastly, utilizza l'API per gestirli.

Elimina lo snippet VCL personalizzato

  1. Accedi all'amministratore.

  2. Fai clic su Archivi > Impostazioni > Configurazione > Avanzate > Sistema.

  3. Espandi Cache a pagina intera > Configurazione rapida > Snippet VCL personalizzati.

    Gestione snippet VCL personalizzati

  4. Nella colonna Azione, fai clic sull'icona del cestino accanto allo snippet da eliminare.

  5. Nella finestra modale successiva, fai clic su DELETE e attiva una nuova versione.

WARNING
L'opzione dell'interfaccia utente Snippet VCL personalizzati mostra solo i frammenti aggiunti tramite l'amministratore Adobe Commerce. Se aggiungi snippet utilizzando l'API Fastly, utilizza l'API per gestirli.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26