Ho una piccola applicazione e ho letto molto su XSS, quindi voglio disinfettare l'input che ho.
Durante la ricerca su google, mi sono imbattuto nella guida OWASP in cui si afferma che è necessario utilizzare quanto segue per disinfettare correttamente l'input:
String safe = ESAPI.encoder().encodeForJavaScript( request.getParameter( "input" ) );
Sono abbastanza nuovo per la codifica, quindi lo copio / incollato alla mia funzione JavaScript e non sembra funzionare.
Una rappresentazione approssimativa di ciò che sto cercando di fare è eseguibile qui , il codice:
<input name="this" type="text" maxlength="16" id="this" />
<button onclick="run()">run</button>
<script>
function run() {
// how I used to do it
// a = document.getElementById("this").value;
safe = ESAPI.encoder().encodeForURL( document.getElementById("this").value );
alert(safe);
}
</script>
I caratteri validi per le mie applicazioni sono solo i numeri [0-9]
e un punto ( .
).
Come faccio a uscire / disinfettare correttamente un campo di input in JavaScript per prevenire attacchi XSS.