前面已经讲过导致XSS漏洞的主要原因是输入可控并且没有经过过滤便直接输出,因此防御XSS漏洞一般有以下几种方法。
(1)编写全局过滤器实现拦截,并在web.xml进行配置。下面将给出一个网上使用较多的拦截器样例。
配置过滤器:
实现包装类:
(2)采用开源安全控制库(OWASP)企业安全应用程序接口(ESAPI)实现,类似的还有谷歌的xssProtect等。
(3)对所有字符采用HTML实体编码。