Чтобы правильно отобразить введенные пользователем данные на HTML-странице, вам просто нужно убедиться, что любые специальные символы HTML правильно закодированы в виде сущностей через String#replace
или аналогичные. Хорошей новостью является то, что вам нужно очень мало кодировать (для этой цели):
str = str.replace("&", "&").replace("<", "<");
Вы также можете заменить >
, если хотите, но в этом нет необходимости.
Это не только из-за XSS, но и из-за того, что символы отображаются правильно. Возможно, вы также захотите убедиться, что символы вне общего латинского набора превращены в соответствующие объекты для защиты от проблем с кодировкой (UTF-8 против Windows-1252 и т. Д.).