Il rate limiting WordPress messo a disposizione da CSDN mette dei paletti agli abusi di scrittura. Da un lato ci sono gli autori che pubblicano troppi contenuti in poco tempo, per esempio con un account compromesso. Dall’altro ci sono i visitatori che inviano troppi commenti o form di contatto. Ogni paletto si attiva e si regola da solo.

Dove si trova
Vai su Impostazioni e scegli Cisilino Site Defense Network (punto 1 dell’immagine). Apri la scheda “Rate limiting” (punto 2). Per salvare serve il permesso manage_options; su multisite serve manage_network_options.
Le sezioni sono quattro. Il punto 3 è “Come funziona, in concreto: cosa viene contato”. Il punto 4 è “1. Autori: pubblicazioni troppo frequenti”. Il punto 5 è “2. Visitatori: commenti e form di contatto”. Il punto 6 è “Utenti attualmente sospesi”. I valori di tempo sono tutti in secondi.
A cosa serve
Il paletto sugli autori ferma un account che pubblica a raffica, prima che riempia il sito di contenuti. Il paletto sui visitatori frena chi inonda commenti e form. Il codice conosce anche un terzo paletto, l’email obbligatoria. Lo trovi nella scheda “Registrazione utenti”, descritta nel capitolo precedente.
Come si usa
Cosa viene contato (punto 3)
Il riquadro informativo spiega le regole. Per gli autori, il controllo scatta quando WordPress salva un articolo o una pagina. Il plugin conta quanti articoli e pagine di quell’autore hanno data di creazione o pubblicazione negli ultimi T secondi. Se sono più di N, l’autore viene sospeso. Il salvataggio che supera la soglia va a buon fine: la sospensione blocca i successivi.
Non contano plugin e temi, gli accessi, le modifiche a contenuti più vecchi della finestra, le bozze automatiche, le revisioni, il cestino, i media, i commenti e gli altri tipi di contenuto. Gli ambienti temporanei, come quello di prova del Plugin Check, vengono ignorati.
Attenzione: l’esempio scritto in quel riquadro cita ancora N=3. È un testo vecchio. Il valore predefinito reale è 150 contenuti in 5 minuti, dalla versione 1.0.13.
Autori (punto 4)
- Spunta “Rate limit attivo” per limitare le pubblicazioni degli autori.
- Decidi se tenere “Alert via email”: ricevi una mail alla sospensione di un autore.
- Imposta “N: contenuti ammessi”, da 1 a 1000. Predefinito 150.
- Imposta “T: finestra (secondi)”, da 10 a 86400. Predefinito 300, cioè 5 minuti.
- Imposta “S: sospensione (secondi)”, da 60 a 2592000. Predefinito 3600, cioè 1 ora.
- Premi Salva impostazioni rate limiting.
La mail va all’indirizzo amministratore di Impostazioni > Generali. Contiene l’utente, i contenuti nella finestra, la scadenza e l’elenco fino a 20 contenuti recenti da controllare. La sospensione non modifica quei contenuti.
Visitatori (punto 5)
- Spunta “Rate limit attivo” per limitare gli invii degli ospiti.
- L’“Alert via email” è disattivo di default. Su un sito esposto può generare molte mail. Arriva allo stesso indirizzo amministratore di Impostazioni > Generali, una volta per ogni blocco.
- “N: invii ammessi”, da 1 a 100. Predefinito 2.
- “T: finestra (secondi)”, da 5 a 3600. Predefinito 60.
- “S: blocco IP (secondi)”, da 60 a 2592000. Predefinito 3600.
Il paletto riguarda solo chi non è loggato. Conta gli invii per IP e per tipo, commenti oppure form. Un blocco sui commenti non blocca i form. I form di contatto coperti sono quelli di Contact Form 7. Il commento respinto mostra “Troppi invii” con errore 429.
Se un valore è fuori dai limiti, il plugin lo porta al più vicino ammesso. Il salvataggio mostra “Impostazioni del rate limiting salvate. I valori fuori dai limiti ammessi sono stati riportati al più vicino consentito.”
Rate limiting WordPress: sospensioni e blocchi
Un autore sospeso mantiene il suo ruolo e può usare il resto del pannello. Perde però i permessi di creare e pubblicare articoli e pagine. Spariscono “Aggiungi articolo” e le voci delle pagine, e se apre quelle schermate riceve “permesso negato”. In bacheca compare un avviso che non si può chiudere.
Attenzione: la sospensione degli autori colpisce anche gli amministratori. Un amministratore sospeso perde la creazione e la pubblicazione, ma può ancora aprire le Impostazioni e revocare la sospensione da solo. Non esiste una lista di eccezioni per utenti, ruoli o IP: la whitelist IP della scheda Generale non esenta dal rate limiting.
Attenzione: il blocco dei visitatori è per IP. Più persone dietro lo stesso IP, come un ufficio, possono essere bloccate insieme. In quel caso alza N. Il plugin legge solo l’indirizzo di connessione (REMOTE_ADDR) e non gli header di proxy o CDN: dietro un proxy inverso o una CDN tutti i visitatori possono apparire con lo stesso IP e bloccarsi a vicenda.
Come revocare una sospensione
Hai due strade.
- Aspetta. La sospensione finisce da sola dopo S secondi.
- Nella sezione al punto 6, “Utenti attualmente sospesi”, premi Revoca sospensione sulla riga dell’utente. Vedrai “Sospensione revocata: l’utente può di nuovo creare e pubblicare contenuti.” Se la tabella è vuota leggi “Nessun utente sospeso.”
La tabella mostra al massimo 100 utenti. Gli avvisi in bacheca hanno i link “Revoca la sospensione” e “Controlla e revoca”, che portano alla stessa scheda.
Spegnere “Rate limit attivo” non toglie una sospensione già in corso. Per toglierla devi revocarla o aspettare la scadenza.
Cosa succede dietro le quinte
La sospensione è una informazione salvata sull’utente, con la data di scadenza. Per gli ospiti, ogni invio viene registrato per 24 ore in una tabella del plugin e poi conteggiato nella finestra. Se due richieste arrivano insieme, qualcuna in più può passare. Sospensioni e blocchi finiscono nel Registro attività, se è attivo e se i gruppi Utenti e Commenti sono abilitati.
Attenzione: un’importazione legittima di molti contenuti può far scattare il paletto sugli autori. Prima di una migrazione disattiva il paletto o alza N.
Esempi di rate limiting WordPress
- Blog con un solo autore: puoi abbassare N a 10 o 20 con T=300. Intercetti prima un account compromesso. Sono valori di prova, non una regola del plugin.
- Redazione che duplica o importa pagine: tieni 150/300 o più.
- Uffici con IP condiviso: alza gli invii ammessi dei visitatori a 3 o 5.
Conversioni utili: 300 secondi sono 5 minuti, 3600 sono 1 ora, 86400 sono 1 giorno. Per approfondire il tema generale, leggi la guida OWASP Blocking Brute Force Attacks, che spiega perché limitare i tentativi ripetuti.
Precedente: Registrazione utenti: chi può creare account. Successivo: Registro attività: cosa è successo sul sito. Per l’indice generale vai al capitolo 1 del manuale.
Lascia un commento