我已經有了使用HTML輸入的用戶輸入(使用tinyMCE輸入)的常見情況。我需要針對XSS攻擊提供一些服務器端保護,並且正在尋找人們正在使用的經過充分測試的工具來執行此操作。在PHP方面,我看到很多像HTMLPurifier這樣的庫來完成這項工作,但我似乎無法在.NET中找到任何東西。.NET HTML白名單(反xss /跨站腳本)
基本上,我在尋找一個庫來篩選下來的標籤白名單,屬性上的廣告代碼,並做正確的事與「困難」的屬性,如:href和IMG:SRC
我已經看過傑夫阿特伍德的帖子http://refactormycode.com/codes/333-sanitize-html,但我不知道它是如何最新的。它對網站目前使用的內容有任何影響嗎?在任何情況下,我都不確定對於嘗試將有效輸入進行正規化的策略感到滿意。
本博客文章中提出了似乎是一個更引人注目的策略:
這種方法實際上解析HTML到DOM,驗證,然後從中重建有效的HTML。如果HTML解析能夠合理處理格式錯誤的HTML,那麼很好。如果沒有,沒有什麼大不了的 - 我可以要求格式良好的HTML,因爲用戶應該使用tinyMCE編輯器。無論哪種情況,我都會重寫我所知道的安全,格式良好的HTML。
問題是這只是一個描述,沒有鏈接到任何實際執行該算法的庫。
這樣的圖書館是否存在?如果不是,那麼什麼是一個好的.NET HTML解析引擎?什麼正則表達式應該用來執行額外的驗證a:href,img:src?我在這裏錯過了其他重要的東西嗎?
我不想在這裏重新實現一個越野車輪。當然,這裏有一些常用的庫。有任何想法嗎?
這個答案有什麼問題?爲什麼它低調? – 2009-08-22 08:23:58
好AntiXSS只是編碼,它不是一個脫衣舞或白名單解決方案(還) – blowdart 2009-08-22 08:25:49