Какие вещи должны быть приняты, если мы должны использовать файл CSS неизвестного пользователя - PullRequest
3 голосов
/ 30 сентября 2010

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

Так, прежде чем строить его, я хотел бы знать, о каких вещах я должен заботиться?

Ответы [ 2 ]

4 голосов
/ 30 сентября 2010

Внедрение CSS почти так же хорошо, как внедрение скрипта.У вас expression() в IE6-7 (и позже в представлении совместимости), у вас behavior: (HTC) в IE, у вас -moz-binding: в Firefox, у вас content: длявставлять текст, и иногда, в основном в старых браузерах, которые его не блокируют, вы получаете url(javascript:...).Даже без этого вы получаете значительный риск только из-за спуфинга визуального пользовательского интерфейса.

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

2 голосов
/ 30 сентября 2010

Безопасность: так называемые " Выражения CSS " позволяют код JavaScript в CSS.Хотя теперь они устарели, они все еще работают в IE5-7 и в режимах совместимости IE.

Я рекомендую исключить любое правило expression() из таблицы стилей.Он не служит никакой реальной цели, не работает в обычных браузерах, а в IE он вводит исполняемый код в CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...