2011-08-02 13 views
1

Я использую TinyMCE в качестве моего онлайн-редактора, но меня беспокоят атаки XSS и т. Д. Я, хотя и заменил все < и >, но это не похоже на вариант с таким типом редактор, и я не уверен, что удаление тегов скриптов тоже слишком (что касается onclick, onmouseover и других событий).WYSIWYG и XSS

Каким должен быть мой подход, чтобы избежать таких атак?

ответ

1

В теории вы можете исключить XSS, как это, но на практике это сложно. Всегда кажется, что вы упустили из виду.

Лучший способ, которым я нашел, - использовать регулярное выражение, чтобы разрешить использование определенных тегов, которые вы указали (<strong>, <em> etc), и удалить все остальные. Вам также необходимо искать попытки обойти вашу защиту пользователями, кодирующими символы.

2

Вы должны выбрать, безопасность или удобство. Редактор WYSIWYG, такой как TinyMCE, очень удобен. Он позволяет неспециалистам использовать веб-интерфейс для обновления какого-либо контента с помощью тегов html или без них. Его ленивый способ позволить кому-то нетехническому обновить html, и он поставляется со всеми видами опасностей. Когда вы предоставляете пользователям доступ к интерфейсу TinyMCE в свою базу данных, это абсолютно равнозначно тому, как предоставить клиенту базы данных обновление данных непосредственно в вашей базе данных.

Кроме того, обратите внимание, что на сегодняшний день существует большое Cross-Site-Scripting, который не является вредоносным, то есть на самом деле Facebook, LinkedIn, YouTube, и т.д. интеграции, которая требует ссылки сценария на домены третьего лица и т.д.

Итак, если вы затвердели инструмент TinyMCE, чтобы XSS не мог быть добавлен, это будет бесполезно для серьезного веб-разработчика во многих сценариях.

Но если вам необходимо сделать дополнение/редактировать/обновить/удалить редактор XSS, вам необходимо проверить и дезинформировать все входы, и ваш лучший выбор - сделать свой собственный.

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