我正在写一个简单的网站,我很感激我有责任避免将我的网站用于XSS,但我真的不想花太多时间在详细或重量级的解决方案上。如果我只是简单地禁止一个角色列表(人们无论如何都不需要描述他们最喜欢的香肠)什么是我可以逃脱的最小的列表?
用户仍然需要能够写一段纯文本。所以我至少需要保持:
' " , . ; : - ( )
希望一些语法较少的用户可以准确地应用它们。我打算从<和>但搜索表明,就其本身而言,并不一定足够。
答案 0 :(得分:1)
你可能不应该只禁止角色。而是在将任何输入输出回用户之前更喜欢HTML转义。请参阅OWASP XSS (Cross Site Scripting) Prevention Cheat Sheet。
答案 1 :(得分:1)
仅仅因为你需要保持
' " , . ; : - ( )
并不意味着你需要将它们保留为那些文字字符。将所有特殊字符转换为其HTML实体(例如,将所有<
转换为<
答案 2 :(得分:0)
您尚未提及您正在使用的服务器平台(.NET,Java,PHP等),并且每种处理XSS的方式都略有不同。但是,有两个常量:
有关更深入理解XSS的更多信息:OWASP Top 10 for .NET developers part 2: Cross-Site Scripting (XSS)