Affinché le vostre applicazioni web non offrano una base per attacchi XSS dovete in primo luogo considerare come insicuri tutti i valori di input. Prima che il server li riceva, dovrebbero essere analizzati. In questo caso il metodo più sicuro, come avviene con l’add-on NoScript per i client, è quello di creare una whitelist. Se siete in grado di eseguire la scansione di informazioni sul vostro sito e abilitare soltanto contenuti affidabili, create in questo modo una protezione eccellente contro attacchi Cross-site scripting.
Oltre ai valori immessi, anche i dati in uscita dovrebbero essere messi al sicuro. Sarebbe quindi necessario che i problematici metacaratteri HTML vengano sostituiti dai relativi riferimenti di caratteri; per questo i metacaratteri vengono visti come caratteri normali e script potenzialmente dannosi non vengono avviati. La maggior parte dei linguaggi di programmazione e di scripting come Perl, JavaScript o PHP hanno a tale scopo funzioni già predefinite per la sostituzione o il mascheramento di caratteri, che potete utilizzare senza esitazione. Semplici attacchi XSS possono essere respinti grazie all’uso di firewalls.
Il Cross-site scripting costituisce spesso solo lo stadio iniziale per attacchi più aggressivi, che potete sventare già sul nascere con una protezione completa dei flussi di dati in entrata e in uscita del vostro server web.