2011-04-14 31 views
1

我正在寫一個簡單的網站,我很欣賞我的責任,以避免我的網站被用於XSS,但是我並不想花太多時間在詳細或重量級的解決方案。如果我只是簡單地禁止一個角色列表(人們不需要描述他們最喜歡的香腸),我可以逃脫的最小列表是什麼?什麼是我爲了避免XSS而需要禁止的字符的最小集合是什麼

用戶仍然需要寫一段純文本的能力。所以,我需要至少保持:

' " , . ; : - () 

,希望一些不太語法不便的用戶可以準確地應用它們。我打算從<開始,>但搜索表明,它本身並不足夠。

回答

1

僅僅因爲你需要保持

' " , . ; : - () 

並不意味着你需要將它們保留那些文字字符。轉換所有特殊字符的HTML實體(例如將所有<&lt;

0

你沒有提到你與(.NET,Java和PHP等)使用的服務器平臺,每個人都有稍微不同的方式。處理XSS的。然而,有兩個常量:

  1. 始終驗證你對一個白名單輸入不要定義什麼你不會允許,而定義你允許。
  2. 始終對輸出進行編碼,併爲正確的語言進行編碼。平臺有圖書館爲你做這件事(即AntiXSS用於ASP.NET)

更多信息上更深入地瞭解這裏的XSS:OWASP Top 10 for .NET developers part 2: Cross-Site Scripting (XSS)

相關問題