Panoramica
È stata aggiunta la validazione di sicurezza all'Editor di Codice HTML all'interno di:
Form
Sondaggi
Quiz
Questo aggiornamento impedisce il salvataggio di codice JavaScript non sicuro. Protegge gli account da:
Cross-site scripting (XSS)
Furto di cookie
Dirottamento di token/sessione
Tentativi di acquisizione dell'account
Se viene rilevato del codice non sicuro, il sistema blocca l'azione di salvataggio e mostra un messaggio di errore.
Come Funziona
Quando si modifica dell'HTML personalizzato:
Apri il Builder di Form / Sondaggi / Quiz
Aggiungi un elemento HTML
Clicca su Modifica HTML
Inserisci il tuo codice
L'editor analizza automaticamente il codice in tempo reale.
Se viene rilevato un problema di sicurezza:
Appare un messaggio di errore rosso sotto l'editor
Il pulsante Salva viene disabilitato
È necessario rimuovere il codice non sicuro prima di salvare
Cosa Viene Bloccato
L'editor blocca i pattern JavaScript ad alto rischio che possono esporre dati sensibili.
1. Accesso ai Cookie
Bloccato:
document.cookie
Bloccato anche:
document['cookie'] window['document']['cookie']
I cookie possono contenere dati di autenticazione. Accedervi può portare alla compromissione dell'account.
2. Utilizzo di eval()
Bloccato:
eval("alert('hello')")
eval() esegue stringhe arbitrarie come codice e può essere usato per nascondere script dannosi.
3. Utilizzo di new Function()
Bloccato:
new Function('return document.cookie')
Questo esegue dinamicamente codice basato su stringhe e presenta gli stessi rischi di eval().
4. Utilizzo di setTimeout() con una Stringa
Bloccato:
setTimeout("alert('hi')", 1000)
Consentito:
setTimeout(function () { alert('hi') }, 1000)
Passare una stringa causa la valutazione da parte del browser come codice.
5. Utilizzo di setInterval() con una Stringa
Bloccato:
setInterval('checkStatus()', 5000)
Consentito:
setInterval(() => checkStatus(), 5000)
6. Lettura da localStorage
Bloccato:
localStorage.getItem("authToken")
La lettura da localStorage può esporre dati sensibili di sessione o di autenticazione.
Consentito:
localStorage.setItem("theme", "dark") localStorage.removeItem("temp") localStorage.clear()
Cosa È Consentito
I seguenti elementi non vengono bloccati:
HTML standard
Logica JavaScript sicura
Funzioni arrow
Riferimenti a funzioni nei timer
Scrittura su
localStorageUtilizzo di
sessionStorage
Note Importanti
Il rilevamento non è sensibile alle maiuscole/minuscole (
eval,EVAL, ecc.).Se lo stesso problema appare più volte, viene mostrato un solo messaggio di errore.
I campi HTML vuoti sono consentiti.
L'HTML puro (senza script) è consentito.
Se il Tuo Codice Viene Bloccato
Per risolvere il problema:
Rimuovi qualsiasi accesso diretto ai cookie
Evita
eval()onew Function()Usa riferimenti a funzioni al posto di timer basati su stringhe
Non leggere dati di autenticazione o di sessione da
localStorage