<span style = ...>是否可以安全消毒?

ssc*_*rus 5 ruby-on-rails sanitize html-safe ruby-on-rails-3

我正在使用富文本编辑器(CKEditor),我有机会让用户创建显示给其他用户的配置文件.

当我将它们显示为以下时,CKEditor可以控制的许多属性都会丢失:

<%= sanitize(profile.body) %>
Run Code Online (Sandbox Code Playgroud)

我的问题是:允许解析属性'style'是否安全?这将允许显示诸如文本颜色,大小,背景颜色,居中,缩进等的事物.我只是想确定它不允许黑客访问我不知道的东西!

bob*_*nce 15

是否可以安全地解析属性'style'?

没有.

background-image: url(javascript:[code]);
width: expression([code]);                  /* ie */
behavior: url([link to code]);              /* ie */
-moz-binding: url([link to code]);          /* ff */
Run Code Online (Sandbox Code Playgroud)

更不用说UI欺骗攻击,例如将虚假登录表单定位在真实的一个或类似的东西上.