Каковы мои варианты для белого списка HTML в ColdFusion? - PullRequest
1 голос
/ 15 июня 2011

Я хочу разрешить своим пользователям вводить HTML.

Требования

  1. Разрешить определенный набор тегов HTML.
  2. Сохранитьсимволы (например, не кодируйте ã в ã)

Существующие опции

  1. AntiSamy .К сожалению, AntiSamy кодирует специальные символы и нарушает требование 2.
  2. Собственные функции ColdFusion (HTMLCodeFormat() и т. Д.) Не работают, поскольку они кодируют HTML в сущности, и, следовательно, не выполняют требование 1.
  3. Я где-то нашел этот набор функций, но я не могу сказать, насколько это безопасно: http://pastie.org/2072867

Итак, какие у меня варианты?Существуют ли для этого библиотеки?

1 Ответ

2 голосов
/ 21 июня 2011

Portcullis хорошо работает в Cold Fusion для проблем, связанных с атаками.Я использовал несколько других решений для регулярных выражений, которые я нашел в Интернете в течение долгого времени, и которые работали хорошо, хотя они не были настолько далеки от совершенства.За 15 лет (10 лет как разработчик CMS) ничего из того, что я построил, не было взломано ... стук по дереву.

При разработке полей ввода любого типа, хорошо смотреть на проблему с разных сторон.,У вас есть пользовательский интерфейс, который включает в себя как удобство использования, так и проверку на стороне клиента.Да, это можно обойти, но валидация на основе javascript быстрее, более отзывчива и имеет более высокую скорость на магическом уровне пользовательского интерфейса, чем метод прерывания бэкэнда или просто заставляет вещи «исчезать» без предупреждения.Это ускорит внутреннюю проверку, потому что это делает начальный скрининг.Таким образом, это не решение типа «вместо», а «в дополнение к», которое нельзя игнорировать.

Кроме того, на пользовательском интерфейсе предоставление пользователям качественного редактора также может сделать огромныйРазница в процессе.Мой личный фаворит - CKeditor просто потому, что он единственный, кто может обрабатывать код Microsoft Word на лицевой стороне, сохраняя его далеко от моей БД.Это кажется глупым, но Word HTML действителен, поэтому он не вызывает красных флажков .... но в документе среднего размера он быстро перегружает поле БД, вставьте максимум, хотите верьте, хотите нет.Хороший редактор не только уменьшит количество глупого HTML-кода, но и сделает все быстрее для пользователя .... win / win.

Я лично кодирую и декодирую свои символы ..Это всегда просто хорошо работало, поэтому я никогда не менял практику.

...