Убедитесь, что первое, что вы делаете, это замените &
на &
a) Для содержимого HTML достаточно просто <
.
b) Для атрибутазначения, например, если оно входит в <input name="sendtoserver" value="custom text"/>
, вам нужно позаботиться о двойных кавычках, но это все, что необходимо.Тем не менее, это также хорошо сделать <
и >
.
Это зависит от контекста.Если вы хотите, чтобы это было безопасно, скажите вашему JavaScript использовать innerText
, который не требует кодирования, но вы можете установить css на white-space:pre-wrap
.Это менее подвержено ошибкам, но также менее совместимо с браузером.
c) На слабо связанной ноте при экранировании ограничителей строк JavaScript с помощью обратной косой черты, элемент, который может подкрасться к вам, - это если вы поместите контент всценарий, вам нужно позаботиться о </script>
(без учета регистра). Вы можете просто экранировать </
или /
должно быть достаточно