2011-03-20 36 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

相關問題