第三种过滤器: 使用工具类xssProtect,项目中需要引入 xssProtect-0.1.jar、antlr-3.0.1.jar、antlr-runtime-3.0.1.jar 等3个 jar 包。具体实现没有试验,可以参考下这个:http://liuzidong.iteye.com/blog/1744023
用maven管理jar包的话,pom.xml如下:
org.antlr
antlr
3.0.1
org.antlr
antlr-runtime
3.0.1
2.第二种思路就是输入不管他,只在显示的时候,进行转译,可以用过滤器或者自行解决。
如果页面的展示大部分都在bootstrap表单里,那么bootstrap的自带属性就可以解决:
escape: true,// 是否转义 默认 为false
个别可以自己在写方法转译,例如:
var escapeHTML = function (text) {
if (typeof text === 'string') {
return text
.replace(/&/g, '&')
.replace(/
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/`/g, '`');
}
return text;
};
附件:
xssProtect-0.1.jar、antlr-3.0.1.jar、antlr-runtime-3.0.1.jar打包下载