12.4 防止XSS攻击

尽管XSS的表现形式各异,利用方法各不相同,但从概念上讲,防止这种漏洞实际上相当简单。预防它们之所以存在困难,主要在于我们无法确定用户可控制的数据以潜在危险的方式被处理的每一种情况。任何应用程序页面都会处理并显示一些用户数据。除核心功能外,错误消息与其他位置也可能产生漏洞。因此,XSS漏洞普遍存在也就不足为奇了,即使在最为注重安全的应用程序中也是如此。

由于造成漏洞的原因各不相同,一部分防御方法适用于反射型与保存型XSS漏洞,而另一些则适用于基于DOM的XSS漏洞。