Asp.net
防止 XSS(跨站腳本)
假設我有一個簡單的 ASP.NET MVC 部落格應用程序,我希望允許讀者向部落格文章添加評論。如果我想防止任何類型的 XSS 惡作劇,我可以對所有評論進行 HTML 編碼,以便它們在呈現時變得無害。但是,如果我想要一些基本功能,如超連結、粗體、斜體等,該怎麼辦?
我知道 StackOverflow 使用WMD Markdown Editor ,如果不是因為它同時支持HTML 和 Markdown 這使其容易受到 XSS 攻擊,這對於我想要完成的工作來說似乎是一個不錯的選擇。
如果您不想使用編輯器,您可以考慮OWASP 的 AntiSamy。
你可以在這裡執行一個例子: http ://www.antisamy.net/
你要支持多少 HTML?只是粗體/斜體/基本的東西?在這種情況下,您可以將它們轉換為 markdown 語法,然後剝離 HTML 的其餘部分。
剝離需要在伺服器端完成,然後再儲存。在檢查 SQL 漏洞和其他不需要的東西時,您還需要驗證伺服器上的輸入。