web-dev-qa-db-fra.com

Est jquy.val () assez pour prévenir les XSS

Obtient la valeur d'un textarea/input avec la fonction JQuery .val() xss-preuve?

<html>
    <textarea id="t1"></textarea>
    <script> 
        var toBeDisplayed = $('#t1').val();
        $('#elem').html(toBeDisplayed);
    </script>
</html>
3
eversor

Comme mentionné Gumbo mentionné dans son commentaire, peu importe ce que vous avez lu, mais cela compte ce que vous affichez après le fait. Pour répondre simplement à votre question, non. JQuery's .val() n'a pas de filtrage qui vous protégera de XSS. Vous pourriez peut-être prendre la valeur en var toBeDisplayed, puis effectuez votre propre filtrage avant qu'il ne soit relayé pour être affiché à nouveau.

5
Jason Higgins

Bien sûr, il est toujours le plus sûr de faciliter la désinfectionner sur le côté du serveur avant d'afficher la saisie de l'utilisateur. Il peut être fait plus rapidement et facilement dans le navigateur, mais tout code exécuté dans le navigateur ne doit pas être considéré comme une entreprise de confiance; Cela pourrait être modifié ou désactivé.

0
Luke Sheppard