2011-03-20 54 views
5

我正在使用富文本编辑器(CKEditor),我有机会让用户创建显示给其他用户的配置文件。<span style = ...>是否安全卫生?

许多属性CKEditor的可以控制的,当我显示它们正在丧失:

<%= sanitize(profile.body) %> 

我的问题是:是否有安全允许属性“风格”将被解析?这将允许显示文本颜色,大小,背景颜色,居中,缩进等内容。我只是想确保它不会让黑客访问我不知道的东西!

回答

15

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

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

更不用说像在一个真正的人或事物虚假的登录表单将UI欺骗攻击。哈哈!

+0

哈!非常感谢,我有一种感觉:) – sscirrus 2011-03-20 21:43:05

+0

另请参见[CSS注入](http://guides.rubyonrails.org/security.html#css-injection) – Zabba 2011-03-21 00:21:15

+0

这再次表明,您无法安全使用黑名单。如果你还没有想过在CSS中列入黑名单的规则,你现在就会遇到问题。你甚至不能输出一个CSS字符串,你真的需要完全解析它,只输出解析的DOM。 – usr 2011-05-26 18:21:02

相关问题