javascript - 在 Rails 中清理 CSS

标签 javascript ruby-on-rails css security

我想让我正在构建的网络应用程序的用户编写他们自己的 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/

相关文章:

javascript - 你如何取消和重置 react 中的CSS动画?

javascript - Jquery 插件输入字段接受多个 IP 地址

javascript - Rails 在 HAML + Coffeescript 中使用数组

javascript - 如何在更改选项卡(焦点)时暂停递归 setTimeout

ruby-on-rails - 在 Ruby on Rails 中调用模型保存并没有真正保存它

ruby-on-rails - 具有多态has_one模型的嵌套属性

html - 带滚动条的 Div 不考虑顶部填充

html - 标签覆盖链接操作

javascript - 为什么 Array.indexOf() 对一个 redux Action 正确工作,但对另一个 Action 却不行? (相同的 reducer )

javascript - 手持计算