elvisinside
Guest
Редактор css блога - возможные проблемы
Хочу позволить держателям блогов на своем сайте редактировать css блога, как это реализовано на blogger.com.
В режиме редактирования пользователь видит css в textarea и может делать с ним все, что душе угодно.
Далее css сохраняется в mysql ( или сразу в css файл, я еще не определился
). В первом случае цсс подгружается в блог php файлом (<link rel="stylesheet" href="css.php?id={$blog_id}">, по втором - напрямую.
Также хочу реализовать механизм предварительного просмотра цсс - css из textarea постится в новое окошко, php принимает его, вставляет в <style></style> и показывет блог. ( я использую шаблоны smarty, этом случае css передается в шаблон )
Вопрос: стоит ли волноваться по поводу того, что пользователь может встатить в css php, perl, shell и т.д. код и если да, как с этим лучше всего бороться?
Мои соображения таковы:
1. если писать css в файл:
- при вводе shell-кода есть вероятность его выполнения при обращении к файлу ( если будут права и т.д.)
- при вводе php, perl и т.д. кода есть вероятность его выполнения если что-то заставит apache выполнять файл с расширением css как php, perl и т.д. код
2. в режиме превью цсс передается в смарти с помощью $smarty->assign. если пользователь вводит какой-то php-code, здесь может произойти трабл.
Хочу позволить держателям блогов на своем сайте редактировать css блога, как это реализовано на blogger.com.
В режиме редактирования пользователь видит css в textarea и может делать с ним все, что душе угодно.
Далее css сохраняется в mysql ( или сразу в css файл, я еще не определился
). В первом случае цсс подгружается в блог php файлом (<link rel="stylesheet" href="css.php?id={$blog_id}">, по втором - напрямую.Также хочу реализовать механизм предварительного просмотра цсс - css из textarea постится в новое окошко, php принимает его, вставляет в <style></style> и показывет блог. ( я использую шаблоны smarty, этом случае css передается в шаблон )
Вопрос: стоит ли волноваться по поводу того, что пользователь может встатить в css php, perl, shell и т.д. код и если да, как с этим лучше всего бороться?
Мои соображения таковы:
1. если писать css в файл:
- при вводе shell-кода есть вероятность его выполнения при обращении к файлу ( если будут права и т.д.)
- при вводе php, perl и т.д. кода есть вероятность его выполнения если что-то заставит apache выполнять файл с расширением css как php, perl и т.д. код
2. в режиме превью цсс передается в смарти с помощью $smarty->assign. если пользователь вводит какой-то php-code, здесь может произойти трабл.