我想让我正在构建的网络应用程序的用户编写他们自己的 CSS 以自定义他们的个人资料页面。
但是我知道这会带来许多安全风险,即 background: url('javascript:alert("Got your cookies! "+ document.cookies').
因此,我正在寻找一种解决方案来清理 CSS,同时仍然为我的用户提供尽可能多的 CSS 功能。
所以我的问题是,是否有人知道可以处理此问题的 gem 或插件?我已经用谷歌搜索了我的大脑,所以任何提示都将不胜感激!
最佳答案
Rails 有一个内置的 css sanitizer
参见 http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize_css及其 parent http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize
> ActionController::Base.helpers.sanitize_css('background:#fff')
=> "background: #fff;"
> ActionController::Base.helpers.sanitize_css('javascript:alert("garr");')
=> ""
关于javascript - 在 Rails 中清理 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3051285/