Rate limit per Craft CMS: Protegeix el teu web contra atacs de força bruta i abús

Un plugin natiu per limitar peticions HTTP per IP i protegir el teu lloc Craft CMS d'atacs i abús
15.12.2025 — Liquid Team — 3 min read

La seguretat d'un web és fonamental, especialment quan parlem de projectes desenvolupats amb Craft CMS. Un dels vectors d'atac més comuns són els atacs de força bruta i l'abús de peticions HTTP, que poden saturar el teu servidor i comprometre el rendiment del teu lloc. Per mitigar aquests riscos, hem desenvolupat Rate Limit, un plugin natiu per a Craft CMS 5 que limita les peticions per adreça IP.

Què és el rate limiting i per què el necessites

El rate limiting és una tècnica de seguretat que restringeix el nombre de peticions que un client pot realitzar en un període de temps determinat. Aquesta mesura és essencial per:

• Prevenir atacs de força bruta en formularis de login
• Mitigar atacs DDoS a petita escala
• Protegir APIs i endpoints d'ús abusiu
• Reduir costos de servidor en evitar peticions innecessàries
• Mantenir la disponibilitat del lloc per a usuaris legítims

Característiques del plugin Rate Limit

Configuració flexible

El plugin permet definir el nombre màxim de peticions permeses per IP per minut. El valor per defecte és de 4000 peticions, però pots ajustar-lo segons les necessitats del teu projecte. Un blog amb poc trànsit pot utilitzar valors més restrictius (100-500), mentre que una aplicació amb molta interactivitat pot requerir límits més alts.

Whitelist d'IPs

No totes les IPs han d'estar subjectes a limitació. El plugin inclou una llista blanca on pots excloure:

• IPs individuals: útil per a serveis de monitorització o la teva pròpia oficina
• Rangs CIDR: per excloure subxarxes completes (ex: 192.168.1.0/24)

Dashboard de monitorització

El panell de control integrat al CP de Craft mostra estadístiques de les peticions bloquejades, permetent-te identificar patrons d'atac i ajustar la configuració segons sigui necessari.

Integració nativa amb Craft

El plugin utilitza el sistema de cache natiu de Craft CMS, cosa que significa que no requereix dependències externes com Redis o Memcached (tot i que els suporta si ja els tens configurats). La instal·lació és senzilla i no impacta el rendiment de la teva aplicació.

Com funciona

Quan arriba una petició HTTP, el plugin:

1. Obté la IP del visitant
2. Comprova si està a la whitelist
3. Consulta el comptador de peticions a la cache
4. Si supera el límit, respon amb un error HTTP 429 (Too Many Requests)
5. Registra la petició bloquejada per a la seva anàlisi

Les finestres de temps es reinicien cada minut, cosa que permet als usuaris legítims que hagin estat bloquejats temporalment recuperar l'accés ràpidament.

Instal·lació

Pots instal·lar el plugin directament des del Plugin Store de Craft CMS o mitjançant Composer:

composer require liquidbcn/craftcms-rate-limit
php craft plugin/install rate-limit

Després de la instal·lació, accedeix a Configuració > Plugins > Rate Limit per ajustar els paràmetres segons les teves necessitats.

Configuració mitjançant fitxer

Per a projectes amb múltiples entorns, pots crear el fitxer config/rate-limit.php:

<?php
return [
    'enabled' => true,
    'maxRequestsPerIpPerMinute' => 500,
    'excludedIps' => [
        '127.0.0.1',
        '10.0.0.0/8',
    ],
];

Requisits

• Craft CMS 5.0 o superior
• PHP 8.2 o superior

Descarrega el plugin

Rate Limit està disponible de forma gratuïta al Plugin Store oficial de Craft CMS:

https://plugins.craftcms.com/rate-limit

💡 Quant costa desenvolupar una app per al teu negoci? Descobreix els preus