2011-03-18 41 views
1

AntiXss庫似乎刪除html 5數據屬性,有誰知道爲什麼嗎?爲什麼MS防xss庫(v4)刪除html 5數據屬性

我需要保留此輸入:

<label class='ui-templatefield' data-field-name='P_Address3' data-field-type='special' contenteditable='false'>[P_Address3]</label> 

使用防XSS庫(V4.0)的主要原因是爲了確保無法識別的樣式屬性不被解析,這甚至可能?

代碼:

var result = Sanitizer.GetSafeHtml(html); 

編輯:

下面的輸入將導致整個樣式屬性除去

輸入:

var input = "<p style=\"width:50px;height:10px;alert('evilman')\"/> Not sure why is is null for some wierd reason!<br><p></p>"; 

輸出:

var input = "<p style=\"\"/> Not sure why is is null for some wierd reason!<br><p></p>"; 

這很好,如果有人在客戶端使用我的代碼,但我還需要數據屬性標籤工作!

+0

默認情況下,清潔劑僅保留已知安全的物品(白名單過濾)。您可以配置殺菌劑,讓屬性保持安全。 – Steven 2011-03-18 12:42:47

+0

你有沒有關於如何將一個屬性添加到白名單的例子?或鏈接? – Haroon 2011-03-18 14:35:33

回答

1

我假設你是指殺菌劑,而不是編碼器。它正在做它應該做的 - 它只是不理解HTML5或識別屬性,所以它將它們剝離。有通過樣式XSS的方法。

我無法自定義安全列表,恐怕,代碼庫根本不允許這樣做 - 我知道很多人都想要這些,但需要完全重寫才能支持它。

+0

也通過html5 data- *屬性進行攻擊?是的,我的意思是消毒劑,因爲我需要這些標籤,所以我可能不得不丟棄這個圖書館 - 它仍然需要刪除可能的惡意輸入! – Haroon 2011-03-18 14:54:07

+0

不確定數據 - *,沒有以任何方式進行評估。但是,是的,如果您需要這些,恐怕HTML消毒位不會滿足您的需求。 – blowdart 2011-03-18 17:36:18

+0

無論如何感謝...我感謝你已經放入libaray的辛勤工作,我希望如果你進一步修改庫,html5數據屬性可能會被包含在內! :) – Haroon 2011-04-01 16:36:44

相關問題