В настоящее время я использую этот метод с решением 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?