Rails sanitize 不允许 rgb 颜色

Rails sanitize isn't allowing rgb color

我有一个所见即所得的工具,允许用户设置文本区域的格式。我正在使用 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>

但是这个输入不起作用,样式属性被剥离为空白:

<span style="color: rgb(226, 80, 65);">PRODUCTS</span>

有什么方法可以让 rgb 颜色正常工作吗?

编辑:作为参考,我在 Rails 4.2.10.

看起来你需要做的是找到正确的 rgb 组合,因为我试过这个

<span style="color: rgb(255, 0, 0);">PRODUCTS 1</span>

这里让我变红了

<span style="color: red;">PRODUCTS</span>

也许您需要使用颜色选择器来了解在需要匹配颜色时使用哪种 rgb 组合

显然 Loofah 在后台处理清理功能,它默认删除一些功能。 RGB 颜色似乎被视为一个函数。

目前有一个 pull request 允许将特定函数列入白名单,应该可以解决这个问题。