我正在寫一個簡單的網站,我很欣賞我的責任,以避免我的網站被用於XSS,但是我並不想花太多時間在詳細或重量級的解決方案。如果我只是簡單地禁止一個角色列表(人們不需要描述他們最喜歡的香腸),我可以逃脫的最小列表是什麼?什麼是我爲了避免XSS而需要禁止的字符的最小集合是什麼
用戶仍然需要寫一段純文本的能力。所以,我需要至少保持:
' " , . ; : - ()
,希望一些不太語法不便的用戶可以準確地應用它們。我打算從<開始,>但搜索表明,它本身並不足夠。
我正在寫一個簡單的網站,我很欣賞我的責任,以避免我的網站被用於XSS,但是我並不想花太多時間在詳細或重量級的解決方案。如果我只是簡單地禁止一個角色列表(人們不需要描述他們最喜歡的香腸),我可以逃脫的最小列表是什麼?什麼是我爲了避免XSS而需要禁止的字符的最小集合是什麼
用戶仍然需要寫一段純文本的能力。所以,我需要至少保持:
' " , . ; : - ()
,希望一些不太語法不便的用戶可以準確地應用它們。我打算從<開始,>但搜索表明,它本身並不足夠。
僅僅因爲你需要保持
' " , . ; : - ()
並不意味着你需要將它們保留那些文字字符。轉換所有特殊字符的HTML實體(例如將所有<
到<
你可能不應該只是禁止字符。相反,在將輸出輸出回給用戶之前,首選HTML轉義任何輸入。見OWASP XSS (Cross Site Scripting) Prevention Cheat Sheet。
你沒有提到你與(.NET,Java和PHP等)使用的服務器平臺,每個人都有稍微不同的方式。處理XSS的。然而,有兩個常量:
更多信息上更深入地瞭解這裏的XSS:OWASP Top 10 for .NET developers part 2: Cross-Site Scripting (XSS)