2013-12-05 2 views
-1

У меня есть форма, которая вводит пользователя как HTML (BB или подобное решение не будет, я не могу контролировать). Теперь мне нужно убедиться, что ВСЕ теги закрыты, поэтому он не будет убивать макет html моей страницы.
Самое простое решение, которое я имею в виду, это показать ТОЛЬКО снайпер, который я получаю от пользователя в iFrame.
Есть ли лучший подход?
(Опять же, у меня есть no контроль над этим конкретным входом и как я его получаю).Как бы вы проанализировали строку HTML, которая будет действительной

+0

если передать строку в JQuery '$ (»

....
„)' это создаст действительный Dóm дерево –

+0

, но если я прохожу '“

ddfdfdfdf
„или'“ fddfdfd'' –

ответ

0

Лично я хотел бы проверить и разрешить только определенные теги (например, «<B>» или «<I>» в качестве примеров). Если вы хотите разрешить все html, вы можете использовать инструмент на стороне клиента, такой как «https://code.google.com/p/jquery-clean/». Я не уверен, какие технологии на стороне сервера вы используете, но вы также захотите их очистить и дезинфицировать.

В дополнение к проверке правильности компоновки - если html когда-либо приходит из ненадежного источника - вам понадобятся просмотр тегов скриптов для предотвращения XSS или других угроз безопасности. Более подробную информацию см. На этой странице (http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer). Я знаю, что это не точный вопрос, но это действительно важно проверить.

 Смежные вопросы

  • Нет связанных вопросов^_^