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 использовать, когда вам нужно подобрать цвет

Другие вопросы по тегам