В настоящее время я использую этот метод с решением jQuery, чтобы очистить строку от возможных атак XSS.Санитарная обработка Javascript: самый безопасный способ вставки возможной строки XSS html
sanitize:function(str) {
// return htmlentities(str,'ENT_QUOTES');
return $('<div></div>').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');
}
Но у меня такое чувство, что оно недостаточно безопасно. Я что-то пропустил?
Я попытался htmlentities из phpjs проекта здесь: http://phpjs.org/functions/htmlentities:425/
Но это своего рода прослушивают и возвращает некоторые дополнительные специальные символы. Может, это старая версия?
Например:
htmlentities('test"','ENT_QUOTES');
Производит:
test&quot;
Но должно быть:
test"
Как вы ее обработки с помощью JavaScript?
Как вы собираетесь использовать «осмысленные» строку? – penartur
Вставить в html документ ofc как текст. Как href = "sanitized" или src = "sanitized", или
Откуда происходит вставка? Вы хотите динамически вставлять строку в уже открытую страницу с помощью Javascript или в созданный на сервере HTML-документ с помощью PHP? – penartur