Как Вы тестируете, если cookie установлен? Cookie доступны на следующий страница после того, как они будут установлены.
Распространенные ошибки:
Cookie не станут видимыми до следующей загрузки страницы, для которой cookie должен быть видим. Чтобы протестировать, если cookie был успешно установлен, проверьте на cookie на следующей странице загрузки, прежде чем cookie истечет. Истеките время установлено через истечь параметр. Хороший способ отладить существование cookie путем простого вызова print_r ($ _COOKIE);.
Используйте язык с библиотекой CSS или напишите синтаксический анализатор для построения AST-подобной структуры из CSS, а затем проверьте на предмет хитрости.
Это может быть сложнее, чем кажется такими вещами, как размеры div (охват всей страницы), плавающие и z-порядки, будет сложно управлять, и вам, возможно, придется установить границы значений, которые вы можете предоставить.
хорошая идея
Создание тем на основе XML схема, которую можно перевести в CSS. Разрешить пользователям загружать изображения + XML для создания темы.
XML проще контролировать.
PHP CSS Parser , Python синтаксический анализ CSS
Удачи
Хотя наличие собственного языка для добавления CSS может показаться хорошим, вы все равно можете неизбежно столкнуться с теми же проблемами, что и разрешение им просто писать что угодно (например, загрузка внешних файлов и т. Д.)
Лучшая модель с точки зрения безопасности - это продумать, что именно они захотят настроить, и позволить им редактировать только эти вещи.
Так что вы можете предоставить возможности для настройки :
У Twitter (в прошлый раз я все равно им пользовался) был хороший метод для этого, и в результате сайт стал настраиваемый, но с сохранением стандартного внешнего вида, что, ИМХО, великолепно.
Есть много способов, которыми CSS может выполнять произвольный JS. См.