Отображение ввода пользователя на моей странице - PullRequest
4 голосов
/ 28 февраля 2010

В нашем приложении мы позволяем пользователю писать свои Био, используя редактор WYSIWYG, но он часто содержит плохой HTML, который ломает нашу страницу. Является ли хорошей идеей показывать биографию пользователя внутри iframe, чтобы она не влияла на остальную часть страницы? Или есть варианты получше?

Спасибо

Ответы [ 3 ]

3 голосов
1 голос
/ 28 февраля 2010

Решением будет фильтрация HTML, чтобы убедиться, что все в порядке:

  • Действительный HTML
  • Содержит только те теги, которые вы хотите разрешить
  • И не вызывает проблем с безопасностью.

Отличный инструмент для этого - HTMLPurifier (цитирование) :

HTML Purifier соответствует стандартам Библиотека HTML-фильтров написана на PHP. HTML Purifier не только удалит все вредоносный код (более известный как XSS) с тщательно проверенным, безопасным еще разрешительный белый список, он также будет убедитесь, что ваши документы соответствует стандартам

Как правило, после того, как пользователь ввел HTML-код, перед сохранением его в базе данных вы передадите его через очиститель HTML, который проверит его действительность, и удалите любой тег / атрибут, который вы не указали. как «разрешено» .

1 голос
/ 28 февраля 2010

Это неплохая идея, но почему бы вам не проверить HTML, прежде чем сохранить его? Или это не плохо просто безобразно? У большинства редакторов есть чистое форматирование офиса. Или это деловое требование, разрешающее ввод HTML?

Но если iframe - самый безопасный способ сделать это, я бы сказал, пойти на это!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...