防止XSS漏洞的最佳做法是什么?避免XSS漏洞 - 白名单?
很多人在这里都提到了白名单,这听起来像个好主意,但我看到很多人使用RegEx定义白名单。这似乎具有内在缺陷,因为它取决于许多因素,其中最少的是RegEx的实现和撰写表达式的人员的技巧不会犯错误。因此,很多XSS攻击成功,因为他们使用techniques to make the regex accept them。
什么是最好的(虽然可能比正则表白名单更劳动密集型)的方式来避免这些漏洞/消毒用户输入?完全消毒用户输入在理论上是否可行?
这是* false * - >“真正的问题是大于<小于> ...如果这些被替换...那么你是安全的XSS “。除了你认为<意味着*大于*的事实之外,你仍然可以拥有xss恶意并在没有这些字符的情况下被黑客入侵。而且你的代码不会提醒任何事情,你会丢失标签。你也应该对它进行网址编码。 – jspcal 2010-01-22 07:23:09