Ciao a tutti.
Sto cercando di gestire la sicurezza del forum del mio sito.
Avrei bisogno di un pattern matching che analizzi una stringa eliminando le espressioni che:
- Sono comprese tra < e >
- Contengono al loro interno la parola 'SCRIPT' (sia maiuscola che minusca che MISTA)
Io avrei già elaborato un pattern matching così strutturato:
// la stringa che arriva al metodo si chiama str...
String s = str.replaceAll("<(\\s*)(script|SCRIPT)(.*)>", "_SCRIPT ANNULLATO_");
Questo metodo ragiona in questo modo:
- Cerco un <
- Continuo a saltare spazi finché non trovo 'script' oppure 'SCRIPT'
- Vado avanti (saltando qualsiasi cosa) finché trovo >
- Sostituisco l'intera espressione con '__SCRIPT ANNULLATO__'
Sembrava ottimale fino a quando mi hanno fatto notare che la seguente stringa può essere inserita nel mio forum:
<sCRipt>alert('messaggio volgare')</sCRiPt>
Che apre una finestra popup fastidiosa![]()
Come posso modificare il mio pattern matching per riuscire a trovare la parola 'script' sia maiuscola che minuscola (che mista)?!
Spero di sentirvi presto![]()