Rails дезинфицировать не позволяет цвет RGB
У меня есть wysiwyg, который позволяет пользователям форматировать текстовую область. я использую sanitize
и я передаю массивы разрешенных тегов и разрешенных атрибутов:
<%= sanitize @record.notes, tags: %w(strong em u div span br h1 h2 h3 h4 ul ol li table thead tbody th tr td img hr a), attributes: %w(style colspan rowspan text-align class href target src href) %>
Все работает правильно, за исключением атрибутов стиля с цветом, указанным с помощью rgb.
Например, этот вход правильно отображает цвет:
<span style="color: red;">PRODUCTS</span>
Но этот ввод не работает, а атрибут style очищается:
<span style="color: rgb(226, 80, 65);">PRODUCTS</span>
Есть ли способ заставить цвет rgb работать должным образом?
РЕДАКТИРОВАТЬ: Для справки, я на Rails 4.2.10.
2 ответа
По всей видимости, Loofah управляет функцией очистки под капотом и по умолчанию удаляет некоторые функции. Цвет RGB, кажется, рассматривается как функция.
В настоящее время существует запрос на включение, чтобы разрешить внесение в белый список определенных функций, которые должны решить эту проблему.
Похоже, что вам нужно сделать, это найти правильную комбинацию RGB, потому что когда я пытался это
<span style="color: rgb(255, 0, 0);">PRODUCTS 1</span>
это дает мне красный здесь
<span style="color: red;">PRODUCTS</span>
может быть, вам нужно использовать палитру цветов, чтобы знать, какую комбинацию RGB использовать, когда вам нужно подобрать цвет