Дезинфекция Javascript :Самый безопасный способ вставить возможную строку XSS html

В настоящее время я использую этот метод с решением jQuery, чтобы очистить строку от возможных атак XSS.

sanitize:function(str) {
    // return htmlentities(str,'ENT_QUOTES');
    return $('
').text(str).html().replace(/"/gi,'"').replace(/'/gi,'''); }

Но мне кажется, что это недостаточно безопасно. Я что-то пропустил?

Я пробовал htmlentities из проекта phpjs здесь: http://phpjs.org/functions/htmlentities:425/

Но он немного глючит и возвращает некоторые дополнительные специальные символы. Может это старая версия?

Например:

htmlentities('test"','ENT_QUOTES');

Производит:

test"

Но должно быть:

test"

Как вы справляетесь с этим через javascript?

5
задан Somebody 2 July 2012 в 10:48
поделиться