我需要允许内联"style=position: absolute;"
输出由sanitize(post.content)
。我发现Rails 4 的文档 http://apidock.com/rails/v4.0.2/ActionView/Helpers/SanitizeHelper/ClassMethods/sanitized_allowed_css_properties%3D这就是说
config.action_view.sanitized_allowed_css_properties = ['position']
在 application.rb 中会将属性添加到白名单中,但我找不到文档来说明 Rails 5 是否仍然如此,并且在多次重新启动服务器后它似乎不起作用。有没有办法轻松添加列入白名单的 css 属性?这Rails 4 的答案 https://stackoverflow.com/questions/21623281/rails-4-disable-automatic-css-sanitizing-when-using-built-in-html-sanitize建议使用猴子补丁,但我不确定在哪里或如何执行此操作。
更新:安装gem Rails-deprecated_sanitized https://github.com/kaspth/rails-deprecated_sanitizer允许上面的配置行工作,所以看起来 sanitized_allowed_css_properties 已被弃用。 Rails 5 中肯定有办法做到这一点吗?我不能退回到 4,并且我需要将内联样式位置列入白名单,以便让第三方插件正常工作(CKEditor + Iframely)
下班这个答案 https://stackoverflow.com/questions/35070433/how-can-i-allow-source-tags-through-rails-4-sanitize以及默认允许的属性列表here https://github.com/flavorjones/loofah/blob/master/lib/loofah/html5/whitelist.rb,我最后添加了
default_tags = Loofah::HTML5::WhiteList::ALLOWED_CSS_PROPERTIES.add('position')
到 application.rb,默认情况下允许位置通过 sanitize。不确定这有多安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)