Размещение html кода внутри страниц сайта и безопасность

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2015

Есть сайт, на котором могут размещаться различные новости/посты пользователями. Есть несколько различных типов постов - картинка + текст/просто текст/... Хочется расширить возможности пользователей и дать большую свободу - возможность свободного размещения своего HTML кода в новостях. Новости этого типа обязательно проходят премодерацию перед попаданием в основные разделы.

С реализацией проблем нет, всё работает. Вопрос по поводу безопасности. Использование <script> и любого кода внутри не запрещалось, т.к. опять же, есть премодерация.

Но, всё же, какие возможности JS стоит точно запретить при таком подходе?

Из того, что мне приходит в голову: ajax, alert, write, post, get, XMLHttpRequest, XMLHttpRequest, XMLHttpRequest, console.

Под запретом я понимаю вырезание этих названий из кода при создании поста, с помощью базовых функций замены PHP.

Запрещать полностью JS не хотелось бы, т.к. это убивает возможность создания собственных опросов и т.д.

UPD

Спасибо всем за ответы. Обдумал всё и решил отказаться от идеи со свободной вставкой HTML. Дам пользователям возможность использовать markdown разметку.

Ответы

▲ 2Принят

JavaScript - весьма богатый и очень гибкий язык, всех опасных конструкций всё равно не вырежешь, охотники за XSS просто невероятные трюки делают, '<s' + 'crip' + 't>' даже рядом не валялось.
Давать встраивать JS, доступный всем - это как-то... не кошерно.
Лучше введи только разрешённые возможности, а остальное режь автоматом.
Но ещё лучше - вообще не разрешать встраивать код. Нужен пользовательский опрос - дай ему форму и на её основе создай сам, т.е. своим скриптом.