Во многих местах на многих моих сайтах пользователям разрешается вводить форматированный текст с помощью WYSIWYG или обычного текста с тегами.Естественно, такой ввод очищается от угроз безопасности, но он не лишен тегов и не полностью закодирован.Что-то вроде <p>hello world</p>
заканчивается тем, что возвращается к конечному пользователю как <p>hello world</p>
.
Большинство WYSIWYG достаточно умны, чтобы очистить XML перед передачей содержимого в форму, но ручные запросы POST, текстовые области не-WYSIWYG и пользователи не-JS не будут подвергаться этому запросуправильное направление.Так что ничто не мешает пользователю ввести <a href="/">
, превратив оставшуюся часть страницы в ссылку.
Как лучше всего с этим справиться?