2011-04-14 41 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)

相关问题