Санируйте определяемый пользователем CSS в PHP

Я хочу позволить пользователям использовать свои собственные таблицы стилей для профилей thei на моем форуме, но я боюсь возможных уязвимостей системы обеспечения безопасности. У кого-либо есть какие-либо подсказки для очистки CSS?

Базовый процесс: Пользователь входит, CSS в форму-> Сохраняют к DB-> Вывод как встроенный CSS

17
задан Gio Borje 13 July 2010 в 21:18
поделиться

2 ответа

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

При совместном использовании могут возникнуть уязвимости CSRF (поскольку CSS может генерировать запросы GET для включения изображений, шрифтов, других таблиц стилей и т. Д.). Они также могут использовать контент , чтобы обманом заставить пользователей щелкать мышью в некоторых местах, скрывать важные функции и т. Д. И, конечно же, вам придется выйти из <, > и, возможно, и для предотвращения XSS (если CSS встроен в HTML).

Что касается библиотек для санации, я не знаю ни одной (возможно, аккуратной).

0
ответ дан 30 November 2019 в 13:40
поделиться

Определите классы самостоятельно и создайте графический интерфейс для применения цвета и других свойств к каждому классу, используйте тот же подход, что и Twitter.

альтернативный текст http://grab.by/grabs/3217158e9c48538eb127fb1678dab6ae.png

Конечно, это будет работать, только если ваш макет зафиксирован и определен администратором, а не пользователем.

2
ответ дан 30 November 2019 в 13:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: