как справиться, безопасность с пользователем добавила внешнюю CSS (как MySpace)

Как Вы тестируете, если cookie установлен? Cookie доступны на следующий страница после того, как они будут установлены.

Распространенные ошибки:

Cookie не станут видимыми до следующей загрузки страницы, для которой cookie должен быть видим. Чтобы протестировать, если cookie был успешно установлен, проверьте на cookie на следующей странице загрузки, прежде чем cookie истечет. Истеките время установлено через истечь параметр. Хороший способ отладить существование cookie путем простого вызова print_r ($ _COOKIE);.

5
задан pedalpete 23 August 2009 в 16:36
поделиться

3 ответа

Используйте язык с библиотекой CSS или напишите синтаксический анализатор для построения AST-подобной структуры из CSS, а затем проверьте на предмет хитрости.

Это может быть сложнее, чем кажется такими вещами, как размеры div (охват всей страницы), плавающие и z-порядки, будет сложно управлять, и вам, возможно, придется установить границы значений, которые вы можете предоставить.

хорошая идея

Создание тем на основе XML схема, которую можно перевести в CSS. Разрешить пользователям загружать изображения + XML для создания темы.

XML проще контролировать.

PHP CSS Parser , Python синтаксический анализ CSS

Удачи

4
ответ дан 14 December 2019 в 13:43
поделиться

Хотя наличие собственного языка для добавления CSS может показаться хорошим, вы все равно можете неизбежно столкнуться с теми же проблемами, что и разрешение им просто писать что угодно (например, загрузка внешних файлов и т. Д.)

Лучшая модель с точки зрения безопасности - это продумать, что именно они захотят настроить, и позволить им редактировать только эти вещи.

Так что вы можете предоставить возможности для настройки :

  • Цвета фона
  • Шрифты
  • Изображения для разных вещей
  • И т. Д.

У Twitter (в прошлый раз я все равно им пользовался) был хороший метод для этого, и в результате сайт стал настраиваемый, но с сохранением стандартного внешнего вида, что, ИМХО, великолепно.

2
ответ дан 14 December 2019 в 13:43
поделиться
0
ответ дан 14 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

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