Bloquear spam de referencia

El siguiente ejemplo muestra cómo configurar Fastly Edge Dictionary con un fragmento de VCL personalizado para bloquear el correo no deseado de referencia de su Adobe Commerce en el sitio de infraestructura de la nube.

NOTE
Se recomienda añadir configuraciones de VCL personalizadas a un entorno de ensayo en el que pueda probarlas antes de ejecutarlas en el entorno de producción.

Requisitos previos:

  • Su entorno debe configurarse para utilizar Fastly CDN. Consulte Configurar servicios de Fastly.

  • Asegúrese de que está ejecutando la última versión del módulo Fastly CDN para el Magento 2. Consulte Actualizar el módulo de Fastly.

  • Compruebe la configuración del entorno para el servicio de Fastly. Ver Comprobar el almacenamiento en caché de Fastly.

  • Debe tener credenciales de administrador para acceder a los entornos de ensayo y producción.

  • Revise los registros del sitio para ver si hay direcciones URL de referencia falsas y haga una lista de dominios para bloquear.

Creación de una lista de bloqueados de referente

Los diccionarios de Edge crean pares de clave-valor accesibles para las funciones VCL durante el procesamiento de fragmentos VCL. En este ejemplo, se crea un diccionario de Edge que proporciona la lista de sitios web de referencia que se van a bloquear.

  1. Inicie sesión en el administrador.

  2. Haga clic en Tiendas > Configuración > Configuración > Avanzado > Sistema.

  3. Expandir Caché de página completa > Configuración rápida > diccionarios de Edge.

  4. Cree el contenedor Diccionario:

    • Haga clic en Agregar contenedor.

    • En la página Contenedor, escriba un nombre de diccionarioreferrer_blocklist.

    • Seleccione Activar después del cambio para implementar los cambios en la versión de la configuración del servicio de Fastly que está editando.

    • Haga clic en Cargar para adjuntar el diccionario a la configuración del servicio de Fastly.

  5. Agregue la lista de nombres de dominio para bloquear al diccionario referrer_blocklist:

    • Haga clic en el icono Configuración para el diccionario referrer_blocklist.

    • Agregue y guarde pares de clave-valor en el nuevo diccionario. Para este ejemplo, cada clave es el nombre de dominio de una URL de referente que se va a bloquear y valor es true.

      Agregar elementos incorrectos del diccionario de referente

    • Haga clic en Cancelar para volver a la página de configuración del sistema.

  6. Haga clic en Guardar configuración.

  7. Actualice la caché según la notificación que aparece en la parte superior de la página.

Para obtener más información acerca de los diccionarios de Edge, consulte Creación y uso de diccionarios de Edge y fragmentos personalizados de VCL en la documentación de Fastly.

Cree un fragmento de VCL personalizado para bloquear el correo no deseado del referente

El siguiente código de fragmento de VCL personalizado (formato JSON) muestra la lógica para comprobar y bloquear solicitudes. El fragmento de VCL captura el host de un sitio web de referente en un encabezado y, a continuación, compara el nombre de host con la lista de direcciones URL del diccionario referrer_blocklist. Si el nombre de host coincide, la solicitud se bloquea con un error 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\"; }"
}

Antes de crear un fragmento basado en este ejemplo, revise los valores para determinar si necesita realizar algún cambio:

  • name: nombre del fragmento de VCL. Para este ejemplo, usamos block_bad_referrer.

  • dynamic — El valor 0 indica que hay un fragmento normal que cargar en el VCL con versiones para la configuración de Fastly.

  • priority — Determina cuándo se ejecuta el fragmento de VCL. La prioridad es 5 para ejecutar este código de fragmento antes de que cualquiera de los fragmentos de VCL de Magento predeterminados (magentomodule_*) tenga asignada una prioridad de 50. Establezca la prioridad de cada fragmento personalizado por encima o por debajo de 50, según el momento en el que desee que se ejecute el fragmento. Los fragmentos con números de prioridad más bajos se ejecutan primero.

  • type — especifica una ubicación para insertar el fragmento de código en la versión de VCL. En este ejemplo, el fragmento VCL es un fragmento recv. Cuando el fragmento se inserta en la versión de VCL, se agrega a la subrutina vcl_recv, debajo del código VCL predeterminado de Fastly y encima de cualquier objeto.

  • content: fragmento de código VCL que se ejecutará en una línea, sin saltos de línea.

Después de revisar y actualizar el código para su entorno, utilice cualquiera de los siguientes métodos para agregar el fragmento de VCL personalizado a la configuración del servicio de Fastly:

Añadir el fragmento de VCL personalizado

  1. Inicie sesión en el administrador.

  2. Haga clic en Tiendas > Configuración > Configuración > Avanzado > Sistema.

  3. Expandir Caché De Página Completa > Configuración Rápida > Fragmentos De VCL Personalizados.

  4. Haga clic en Crear fragmento personalizado.

  5. Añada los valores de fragmento de VCL:

    • Nombreblock_bad_referrer

    • Tiporecv

    • Prioridad5

    • VCL contenido de fragmento —

      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. Haga clic en Crear.

    Crear fragmento VCL de bloque de referente personalizado

  7. Después de que la página se vuelva a cargar, haz clic en Cargar VCL a Fastly en la sección Configuración de Fastly.

  8. Una vez finalizada la carga, actualice la caché según la notificación que aparece en la parte superior de la página.

Valida rápidamente la versión de VCL actualizada durante el proceso de carga. Si la validación falla, edite el fragmento de VCL personalizado para solucionar cualquier problema. A continuación, vuelva a cargar la VCL.

NOTE
En lugar de cargar manualmente fragmentos de VCL personalizados, puede agregar fragmentos al directorio $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom de su entorno. Los fragmentos de este directorio se cargan automáticamente al hacer clic en cargar VCL a Fastly en el administrador de Commerce. Consulte Implementación de fragmentos de VCL personalizados automatizados en el módulo Fastly de CDN para obtener documentación de Magento 2.

Modificación del fragmento de VCL personalizado

  1. Inicie sesión en el administrador.

  2. Haga clic en Tiendas > Configuración > Configuración > Avanzado > Sistema.

  3. Expandir Caché De Página Completa > Configuración Rápida > Fragmentos De VCL Personalizados.

    Administrar fragmentos personalizados de VCL

  4. En la columna Acción, haga clic en el icono de configuración situado junto al fragmento que desea editar.

  5. Después de que la página se vuelva a cargar, haz clic en Cargar VCL a Fastly en la sección Configuración de Fastly.

  6. Una vez finalizada la carga, actualice la caché según la notificación que aparece en la parte superior de la página.

WARNING
La opción de interfaz de usuario Fragmentos personalizados de VCL solo muestra los fragmentos agregados mediante el administrador de Adobe Commerce. Si agrega fragmentos mediante la API de Fastly, use la API para administrarlos.

Eliminar el fragmento de VCL personalizado

  1. Inicie sesión en el administrador.

  2. Haga clic en Tiendas > Configuración > Configuración > Avanzado > Sistema.

  3. Expandir Caché De Página Completa > Configuración Rápida > Fragmentos De VCL Personalizados.

    Administrar fragmentos personalizados de VCL

  4. En la columna Acción, haga clic en el icono de papelera situado junto al fragmento que desea eliminar.

  5. En la siguiente ventana modal, haz clic en DELETE y activa una nueva versión.

WARNING
La opción de interfaz de usuario Fragmentos personalizados de VCL solo muestra los fragmentos agregados mediante el administrador de Adobe Commerce. Si agrega fragmentos mediante la API de Fastly, use la API para administrarlos.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26