У меня есть форма, которая вводит пользователя как HTML (BB или подобное решение не будет, я не могу контролировать). Теперь мне нужно убедиться, что ВСЕ теги закрыты, поэтому он не будет убивать макет html моей страницы.
Самое простое решение, которое я имею в виду, это показать ТОЛЬКО снайпер, который я получаю от пользователя в iFrame.
Есть ли лучший подход?
(Опять же, у меня есть no контроль над этим конкретным входом и как я его получаю).Как бы вы проанализировали строку HTML, которая будет действительной
ответ
Лично я хотел бы проверить и разрешить только определенные теги (например, «<B>» или «<I>» в качестве примеров). Если вы хотите разрешить все html, вы можете использовать инструмент на стороне клиента, такой как «https://code.google.com/p/jquery-clean/». Я не уверен, какие технологии на стороне сервера вы используете, но вы также захотите их очистить и дезинфицировать.
В дополнение к проверке правильности компоновки - если html когда-либо приходит из ненадежного источника - вам понадобятся просмотр тегов скриптов для предотвращения XSS или других угроз безопасности. Более подробную информацию см. На этой странице (http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer). Я знаю, что это не точный вопрос, но это действительно важно проверить.
если передать строку в JQuery '$ (»
, но если я прохожу '“