È jQuery.val () sufficiente per prevenire XSS

3

Sta ottenendo il valore di textarea / input con la funzione jQuery .val() XSS-proof?

<html>
    <textarea id="t1"></textarea>
    <script> 
        var toBeDisplayed = $('#t1').val();
        $('#elem').html(toBeDisplayed);
    </script>
</html>
    
posta eversor 28.02.2014 - 13:56
fonte

2 risposte

5

Come Gumbo ha menzionato nel suo commento, non importa quello che hai letto, ma importa quello che mostri dopo il fatto. Per rispondere semplicemente alla tua domanda, no. Il .val() di jQuery non ha alcun filtro che ti protegga da XSS. Potresti forse prendere il valore in var toBeDisplayed e quindi eseguire il tuo filtraggio prima che venga ritrasmesso per essere nuovamente visualizzato.

    
risposta data 28.02.2014 - 18:35
fonte
0

Naturalmente è sempre più sicuro eseguire la sanificazione sul lato server prima di visualizzare l'input all'utente. Può essere fatto più rapidamente e facilmente nel browser, ma qualsiasi codice in esecuzione nel browser non dovrebbe essere considerato come interamente considerato attendibile; potrebbe essere modificato o disabilitato.

    
risposta data 02.03.2014 - 19:38
fonte

Leggi altre domande sui tag