предотвращение XSS / JS-атак на размещенную CMS

Я работаю над размещенной CMS и думаю о том, чтобы разрешить редакторам сайтов добавлять пользовательский javascript и html (очень востребованная функция).

Я обеспокоен тем, что это откроет вектор атаки - неприятные js могут вызывать функции, которые предоставляет наша размещенная CMS (см. Samy worm для примера того, что пользовательские скрипты сделали с myspace), но я действительно хочу дать пользователям контроль над своим сайтом (какой смысл в CMS, вы не можете добавить свой собственный умные вещи?)

Как лучше всего решить эту проблему? Я могу придумать несколько, по которым я хотел бы прокомментировать, но я не буду перечислять их, опасаясь «модов без вопросов в списке»!


person mcintyre321    schedule 18.10.2012    source источник


Ответы (1)


Я подозреваю, что Caja есть в вашем списке, поэтому я упомяну, что это прямо в случаях использования Caja ; например, Сайты Google очень похожи на CMS и используют Caja для встраивания произвольных JS и HTML.

Хост-страницы Caja могут предоставлять произвольные дополнительные интерфейсы для использования изолированным содержимым, которые могут включать, например, встраивание виджетов, предоставляемых вашей CMS, в предоставленный пользователем HTML с сохранением инкапсуляции.

(Раскрытие информации: я работаю в Google в команде Caja.)

person Kevin Reid    schedule 18.10.2012