Aggiornamento consigliato a tutti i siti: chiude un'esposizione di dati personali nelle pagine pubbliche e corregge un bug che impediva il salvataggio corretto di IP e prova del consenso.
⚠️ Dopo l'aggiornamento
Le pagine pubbliche di check-in e partecipanti richiedono ora obbligatoriamente un PIN. Se non ne avevi configurato uno, viene generato automaticamente: leggilo in Event Manager → Impostazioni e comunicalo allo staff prima del prossimo evento. Se avevi già un PIN, resta invariato e non cambia nulla.
Sicurezza
- Le pagine pubbliche di check-in e partecipanti richiedono ora obbligatoriamente un PIN. Prima era opzionale e vuoto di default: chiunque conoscesse l'indirizzo poteva leggere le anagrafiche complete degli iscritti, approvare o annullare iscrizioni e far partire email dal sito
- Nuova classe
DBEM_Security: confronto del PIN in tempo costante (hash_equals), rate limit di 10 tentativi per IP ogni 15 minuti, verifica nonce su tutte le chiamate AJAX pubbliche (protezione CSRF) - Corretto un XSS memorizzato nella pagina pubblica partecipanti: il nome di un iscritto poteva iniettare attributi HTML nella tabella vista dall'organizzatore
- Le azioni sui partecipanti sono vincolate all'evento selezionato
- Export CSV: neutralizzate le formule (
=,+,-,@) interpretate da Excel
Dati e consenso
- Corretto l'array di format di
wpdb->insert, che aveva 8 specificatori per 13 colonne: l'indirizzo IP veniva salvato come0a ogni iscrizione e, con checkbox GDPR attiva, testo, timestamp e URL del consenso venivano azzerati. Su MySQL in strict mode l'iscrizione falliva del tutto mostrando comunque un messaggio di successo - Corretto uno statement troncato che rendeva inefficace il controllo di errore sull'inserimento
- Il path DB Form Builder non registra più un consenso non verificato: nuovo campo "Campo Privacy" nella mappatura del form, la prova viene salvata solo a fronte di una checkbox effettivamente spuntata
- Nuovo
uninstall.phpcon opzione "Elimina tutti i dati alla disinstallazione" (disattivata di default)
Elenco eventi
- Gli eventi su più giorni mostrano un intervallo nel riquadro data (
21-25 SET) invece del solo giorno di inizio, la riga di dettaglio riporta l'intervallo completo e compare il badge "Più date" - Nuova opzione per evento "Non mostrare il giorno nel riquadro della card": il riquadro riporta solo mese e anno
Correzioni
- Il promemoria evento ora funziona: nuovo campo "Promemoria evento" (N ore prima dell'inizio). L'hook cron esisteva ma non veniva mai pianificato
- L'azione in blocco "Conferma" non reinvia più l'email a chi era già confermato
- Corretto il markup del metabox Iscrizioni: un
</table>fuori posto lasciava la sezione Privacy/GDPR e "Assegnazione orario" senza layout - Capability corretta nel salvataggio evento (
edit_postal posto dimanage_options) - Rimossa la registrazione AJAX
dbem_save_event_meta, il cui callback non è mai esistito - Aggiunto
load_plugin_textdomaine cartellalanguages/: le stringhe sono ora traducibili - Lo shortcode
[dbem_event]non applica piùthe_contentin modo annidato
Nota sulla v1.3.1
Il tag v1.3.1 era stato creato su un commit in cui l'header del plugin dichiarava ancora Version: 1.3.0, quindi i siti che l'avevano installata continuavano a vedersi proporre l'aggiornamento. Con la 1.4.0 header e tag coincidono e la segnalazione rientra.