在Rails中清理CSS

Eri*_*rik 13 javascript css security ruby-on-rails

我想允许我正在构建的Web应用程序的用户编写自己的CSS以自定义他们的个人资料页面.

但是我知道这种开放存在许多安全风险,即背景:url('javascript:alert("得到你的cookie!"+ document.cookies').

因此,我正在寻找一种清理CSS的解决方案,同时仍然为我的用户提供尽可能多的CSS功能.

所以我的问题,如果有人知道一个宝石或插件来处理这个?我已经搜索过我的大脑,所以任何提示都会非常感激!

小智 7

Rails有一个内置的css消毒剂

请参阅http://apidock.com/rails/ActionView/Helpers/SanitizeHelper/sanitize_css及其父级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");')
=> "" 
Run Code Online (Sandbox Code Playgroud)