如何过滤不可信输入防御网站被XSS?

2018-01-20 12:14:27 +0000

       运营自己的博客网站有些年月了,最近博客推出注册和评论功能。为使评论内容客户体验更高,使用了著名的富文本编辑器CKEditor。

       在上线前必须要解决XSS攻击问题,就是要对提交的内容进行过滤。既要保证不影响用户的文本输入格式,也要保证防御XSS攻击。这里推荐使用Java开源项目 OWASP Java HTML Sanitizer ,可以快速编写配置过滤策略对用户提交的富文本进行过滤,防御XSS。

      OWASP Java HTML Sanitizer的API调用还不算复杂,可参考官方示例。在 org.owasp.html.examples 包中有 EbaySlashdot 的过滤策略,可以参考和直接拿来用。

 

     Github: https://github.com/OWASP/java-html-sanitizer

     

最后,附上XSS相关的链接:

 

防御 XSS 的七条原则:

http://www.oschina.net/news/43919/7-principles-of-defense-xss

 

XSS的原理分析与解剖:

http://www.freebuf.com/articles/web/40520.html