редактирование текста, предотвращение встраивания кода JavaScript - PullRequest
2 голосов
/ 25 августа 2010

Я сделал сайт, используя известный фреймворк Symfony. Я хотел добавить богатую функцию редактирования к нему. И я нашел редактор TinyMCE. Но возникла проблема: как насчет того, чтобы пользователь встраивал некоторый код JavaScript в контент? например, оповещение («Привет, мир»).

Я тестировал WordPress, очень известную программу для блогов. Это сталкивается с той же проблемой. пример .

Нет ничего страшного, если кто-то вставит сценарий оповещения. Но что, если они вставят какой-нибудь опасный код? Сталкивались ли вы с той же проблемой? Должен ли я использовать уценку вместо HTML? Любой хороший виджет для редактирования уценки?

Ответы [ 2 ]

3 голосов
/ 26 февраля 2013

Хорошая идея - использовать существующую библиотеку для очистки вашего пользовательского ввода, проект очистителя html: http://htmlpurifier.org/, кажется, поддерживается и хорошо сделан.

1 голос
/ 25 августа 2010

Не допускайте никакого встроенного JavaScript в вашем пользовательском вводе. Это легко очистить либо на клиенте, либо на сервере. Получите «белый список» поддерживаемых вами HTML-тегов и удалите все атрибуты прослушивателя событий из того, что вы разрешаете.

...