Как предотвратить атаки XSS, когда мне нужно отобразить HTML из редактора WYSIWYG?

Нетехническая справочная информация: Я работаю в школе, и мы создаем новый веб-сайт, используя Django. Учителя, работающие в школе, недостаточно технологически компетентны, чтобы использовать другой язык MarkUp, такой как MarkDown. В конце концов мы решили, что нам следует использовать редактор WYSIWYG, который имеет недостатки безопасности. Мы не слишком беспокоимся о самих учителях, а о более злонамеренных учениках, которые могут получить учетные данные учителя.

Справочная техническая информация: Мы работаем с использованием Django 1.3 и еще не выбрали конкретный редактор. Мы склоняемся к JavaScript, например TINYMCE, но нас можно убедить использовать все, что обеспечивает безопасность и простоту использования. Поскольку редактор WYSIWYG выводит HTML-код для отображения в документе, мы не можем просто избежать этого.

Каков наилучший способ предотвратить вредоносный код, в то же время упрощая для нетехнических учителей возможность писать сообщения?

10
задан blowdart 26 July 2011 в 21:06
поделиться