Riassunto AI
WPForms 2.0 ha introdotto 3 livelli di protezione automatici che rilevano e bloccano gli attacchi di test delle carte contro l'integrazione Stripe integrata: rilevamento di picchi di importo basso, un limite di frequenza a livello di sito e telemetria della sessione Stripe Radar. Il test delle carte (chiamato anche carding) è un attacco in cui gli script sondano numeri di carte rubate con piccoli addebiti per trovare quelli che funzionano.
Le protezioni vengono eseguite automaticamente con impostazioni predefinite ottimizzate e non hanno un'interfaccia utente per le impostazioni. Ogni soglia e comportamento è controllato tramite i filtri PHP documentati in questa pagina. Se invece stai cercando istruzioni generali sulla configurazione di Stripe, consulta la nostra documentazione Stripe.
Requisiti:
- WPForms 2.0 o versioni successive. Le protezioni si applicano ai pagamenti Stripe sia nelle versioni gratuite che a pagamento.
- Per impostazione predefinita, le protezioni vengono eseguite solo sui pagamenti in modalità live. I pagamenti in modalità di test di Stripe le saltano a meno che non si attivi con il filtro
wpforms_stripe_run_protections_in_test_mode.
Come funzionano le protezioni
- Rilevamento di picchi di importo basso: conta i tentativi di pagamento Stripe pari o inferiori a un importo di soglia (predefinito $3,00) in tutto il sito in una finestra scorrevole. Quando il conteggio supera il limite, tutti i pagamenti Stripe di importo basso vengono bloccati per una durata prestabilita. I pagamenti superiori alla soglia continuano a elaborarsi. WPForms invia 1 email all'amministratore del sito e mostra un avviso di amministrazione ignorabile per ogni periodo di blocco.
- Limite di frequenza globale: conta i tentativi di carta non riusciti (errori
CardExceptiondi Stripe) da parte di tutti i visitatori a livello di sito. Quando i fallimenti superano il limite, tutti i pagamenti Stripe vengono bloccati fino alla scadenza della finestra. Questo estende il limite di frequenza per IP che è stato fornito con WPForms dalla versione 1.8.2, e i 2 limiti funzionano in modo indipendente. - Sessioni Stripe Radar: crea una sessione Radar quando un modulo Stripe viene caricato e la collega al metodo di pagamento. Ciò fornisce segnali comportamentali al motore di frode di Stripe, rendendo più precisa la sua valutazione del rischio. Si tratta di telemetria passiva senza soglie e senza blocchi dal lato WPForms.
Quando un pagamento viene bloccato dal rilevamento di picchi, il cliente visualizza "L'elaborazione del pagamento non è temporaneamente disponibile. Riprova più tardi o contatta il proprietario del sito." Quando il limite di frequenza globale blocca i pagamenti, il cliente visualizza "Impossibile elaborare il pagamento, riprova più tardi." I blocchi vengono rimossi automaticamente alla scadenza della loro durata.
Filtri per il rilevamento di picchi di importo basso
| Filtro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
wpforms_stripe_low_amount_surge_enabled | bool | vero | Attiva o disattiva il rilevamento di picchi. |
wpforms_stripe_low_amount_threshold | float | 3.00 | Soffitto dell'importo. I pagamenti pari o inferiori a questo importo contano ai fini del picco e vengono bloccati mentre un blocco è attivo. |
wpforms_stripe_low_amount_surge_count | int | 10 | Numero di tentativi di importo basso all'interno della finestra che attivano un blocco. |
wpforms_stripe_low_amount_surge_window | int | 120 | Lunghezza della finestra scorrevole in secondi. |
wpforms_stripe_low_amount_block_duration | int | ORE_IN_SECONDI | Durata del blocco, in secondi. |
wpforms_stripe_low_amount_surge_email_to | string | get_option( 'admin_email' ) | Destinatario dell'email di avviso di test della carta. |
Ad esempio, un sito di donazioni molto attivo che riceve legittimamente molti piccoli pagamenti potrebbe desiderare un conteggio di picco più alto e un blocco più breve:
// Allow 30 low-amount attempts per window before blocking.
add_filter( 'wpforms_stripe_low_amount_surge_count', function () {
return 30;
} );
// Shorten the block from 1 hour to 15 minutes.
add_filter( 'wpforms_stripe_low_amount_block_duration', function () {
return 15 * MINUTE_IN_SECONDS;
} );
// Send the alert email to a dedicated inbox.
add_filter( 'wpforms_stripe_low_amount_surge_email_to', function () {
return '[email protected]';
} );
Nota: Lo stato di picco è memorizzato nei transienti wpforms_stripe_low_amount_counter, wpforms_stripe_low_amount_block e wpforms_stripe_low_amount_notified. Se si modificano questi valori di filtro mentre un blocco è attivo, eliminare i transienti in modo che i nuovi valori abbiano effetto immediato.
Filtri globali del limite di tariffa
| Filtro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
wpforms_stripe_rate_limit_global_enabled | bool | vero | Attiva o disattiva il limite di tariffa a livello di sito. |
wpforms_stripe_rate_limit_global_allowed_attempts | int | 50 | Numero di tentativi di pagamento falliti a livello di sito prima che tutti i pagamenti Stripe vengano bloccati. |
wpforms_stripe_rate_limit_global_expires_in | int | ORE_IN_SECONDI | Durata della finestra di conteggio e del blocco, in secondi. |
Il limite di tariffa per IP preesistente mantiene i propri filtri e non è influenzato dallo scope globale: wpforms_stripe_rate_limit_allowed_attempts (predefinito 3) e wpforms_stripe_rate_limit_expires_in (predefinito 6 ore).
Ad esempio, per aumentare il limite globale su un negozio ad alto traffico:
// Allow 200 failed card attempts per hour site-wide before blocking.
add_filter( 'wpforms_stripe_rate_limit_global_allowed_attempts', function () {
return 200;
} );
Filtro sessione Stripe Radar
Le sessioni Radar inviano telemetria comportamentale dalla pagina di pagamento a Stripe Radar, il motore di prevenzione frodi di Stripe. WPForms crea la sessione al caricamento del modulo sia nei flussi Card Element che Payment Element e la allega al metodo di pagamento che crea. La chiamata è best-effort: se l'API Radar non è disponibile, il pagamento procede normalmente senza sessione.
| Filtro | Tipo | Predefinito | Descrizione |
|---|---|---|---|
wpforms_stripe_radar_session_enabled | bool | vero | Attiva o disattiva la creazione della sessione Radar. |
// Disable Radar session telemetry.
add_filter( 'wpforms_stripe_radar_session_enabled', '__return_false' );
Nota: Stripe non allega sessioni Radar ai pagamenti completati tramite Stripe Link. Questa è una limitazione della piattaforma Stripe, non un'impostazione di WPForms.
Test delle protezioni in modalità di test Stripe
Le protezioni saltano la modalità di test Stripe per impostazione predefinita in modo che i normali flussi di lavoro di sviluppo non siano influenzati da falsi positivi. Per esercitarle in modalità di test, acconsenti e abbassa le soglie in modo che i blocchi si attivino rapidamente:
// Run the protections in Stripe test mode.
add_filter( 'wpforms_stripe_run_protections_in_test_mode', '__return_true' );
// Trigger the surge block on the 3rd low-amount attempt.
add_filter( 'wpforms_stripe_low_amount_surge_count', function () {
return 2;
} );
// Auto-unblock after 30 seconds for fast retries.
add_filter( 'wpforms_stripe_low_amount_block_duration', function () {
return 30;
} );
Con questi filtri attivi, invia 3 pagamenti di $2 o meno utilizzando una carta di test Stripe. Il terzo tentativo viene bloccato, viene inviata l'email di avviso e appare l'avviso dell'amministratore. Un pagamento superiore alla soglia viene comunque elaborato durante il blocco. Vedi la nostra guida ai test dei pagamenti Stripe per la configurazione della modalità di test e delle carte di test.
Se un blocco da un test precedente è ancora attivo dopo aver modificato i valori dei filtri, cancella lo stato memorizzato con WP-CLI:
wp transient delete wpforms_stripe_low_amount_block
wp transient delete wpforms_stripe_low_amount_counter
wp transient delete wpforms_stripe_low_amount_notified
Correlati
- Come installare e utilizzare il componente aggiuntivo Stripe con WPForms
- Testare i pagamenti Stripe
- Guida completa ai tipi di campi di pagamento in WPForms (vedi l'opzione Prezzo minimo, la difesa consigliata che rende non redditizio il test di carte di basso importo)
- Documentazione Stripe Radar