Cómo Detener Ataques de Spam en WooCommerce

Pregunta: Tengo problemas graves en mi sitio: recibí 100 pedidos con el mismo correo electrónico, la misma IP y todos fallidos. ¿Cómo puedo detener a este tipo de spammers en mi sitio? Ya instalé el plugin de seguridad Wordfence y bloqueé la IP y el ID de usuario. También habilité reCAPTCHA en mi página de pago, pero Wordfence y reCAPTCHA no han podido detenerlo. ¿Hay alguna otra manera de detener esto?

Respuesta:

Los ataques de spam a través de pedidos fallidos en WooCommerce pueden ser frustrantes y difíciles de detener, especialmente si ya has implementado medidas de seguridad como Wordfence y reCAPTCHA. Sin embargo, hay varias estrategias adicionales que puedes probar para mitigar este tipo de ataques y proteger tu sitio.

1. Implementar un Firewall a Nivel de Servidor

Aunque Wordfence ofrece un firewall basado en WordPress, un firewall a nivel de servidor puede ser más efectivo para bloquear este tipo de ataques antes de que lleguen a tu sitio. Puedes considerar las siguientes opciones:

  • Cloudflare: Ofrece un firewall robusto y opciones de mitigación DDoS. Puedes configurar reglas específicas para bloquear tráfico sospechoso o limitar las solicitudes desde una misma IP.
  • Sucuri: Este servicio proporciona un firewall basado en la nube que puede filtrar el tráfico malicioso antes de que llegue a tu servidor.

2. Limitar la Frecuencia de Pedidos

Puedes reducir la capacidad del atacante para enviar múltiples pedidos fallidos en poco tiempo limitando la frecuencia con la que un usuario puede realizar pedidos desde la misma IP o utilizando el mismo correo electrónico.

  • Plugin de Limitaciones de Pedidos: Considera instalar un plugin que limite la cantidad de pedidos que se pueden realizar desde la misma IP o dirección de correo electrónico en un período de tiempo específico.

  • Hook Personalizado: Si prefieres una solución de código, puedes usar un hook para limitar la cantidad de pedidos permitidos por IP:

 add_action('woocommerce_checkout_process', 'limit_orders_per_ip');

function limit_orders_per_ip() {
    $ip_address = $_SERVER['REMOTE_ADDR'];
    $time_limit = 3600; // 1 hora
    $order_limit = 5; // Limitar a 5 pedidos por hora

    $orders = wc_get_orders(array(
        'limit'    => -1,
        'meta_key' => '_customer_ip_address',
        'meta_value' => $ip_address,
        'date_created' => '>' . (time() - $time_limit)
    ));

    if (count($orders) >= $order_limit) {
        wc_add_notice('Has alcanzado el límite de pedidos desde esta IP en la última hora.', 'error');
    }
}

3. Utilizar Plugins de Anti-Spam Específicos

Hay plugins que están diseñados específicamente para combatir este tipo de spam:

  • WooCommerce Anti-Fraud: Este plugin puede ayudarte a identificar y bloquear pedidos sospechosos basados en varios factores, como el correo electrónico, la IP, y otros patrones de comportamiento.
  • Stop Spammers: Es un plugin que ofrece protección avanzada contra spam, incluyendo bloqueo de IP, bloqueo de emails y más.

4. Añadir Preguntas de Seguridad o Campos Personalizados

Aunque reCAPTCHA es efectivo, agregar una capa adicional de verificación manual puede ser útil:

  • Preguntas de Seguridad: Considera añadir una pregunta de seguridad en el proceso de pago.
  • Campos Personalizados Obligatorios: Puedes añadir campos que solo un usuario real pueda completar correctamente.

5. Monitoreo y Bloqueo de IPs Automático

Configura reglas para bloquear automáticamente IPs que generen un número anormalmente alto de pedidos fallidos:

  • Bloqueo Automático en Wordfence: Configura Wordfence para que bloquee automáticamente las IPs que generen una cierta cantidad de intentos fallidos.
  • Automatización con WP Cerber: WP Cerber es otro plugin que te permite bloquear automáticamente IPs sospechosas y prevenir este tipo de ataques.

Woocommerce_logo

Conclusión

Detener a un spammer persistente requiere un enfoque multifacético, combinando plugins, configuraciones avanzadas y, si es necesario, ajustes a nivel de servidor. Si Wordfence y reCAPTCHA no son suficientes, considera implementar un firewall a nivel de servidor, limitar la frecuencia de pedidos y usar plugins o código personalizado para filtrar el tráfico malicioso.

Si el problema persiste, también puede ser útil contactar a tu proveedor de hosting para implementar medidas adicionales de seguridad. ¡Espero que estas estrategias te ayuden a proteger tu sitio de futuros ataques!

Te puede interesar: Cómo Editar Elementos en la Página de Pago (Checkout) de WooCommerce

Pablo Amerio
Web | + posts

Desarrollador web
UI, UX, and Front-end Developer

Similar Posts