H5W3
当前位置:H5W3 > 其他技术问题 > 正文

对输入文字的敏感词过滤以及 XSS 特殊字符过滤什么方案比较好?

java web 项目里

post 提交的内容里,其实有很多输入不需要敏感词过滤以及 XSS 特殊字符过滤

譬如 select 下拉框选项,输入都是确定的内容

只是那些文本框 input 需要过滤

如果用过滤器,那就会对所有的输入进行过滤

这显然不太好,开销太大

对输入文字的敏感词过滤以及 XSS 特殊字符过滤什么方案比较好?

我现在做法

@Override
public String getParameter(String name) {
    String value = super.getParameter(name);
    if (value != null) {
        value = filterSensitiveWords(value);
    }
    return value;
}

但是这样做不到区别对待
最关键的是: 如何区分对待

回答:

只要内容是用户产生的,都要“原样显示”。后端模板都有相关机制处理,前端的框架也有。

回答:

前端产生的数据并不可靠,懂行的人可以轻易绕过前端设置的各种校验规则。
安全起见,后端在入库前应对前端产生的所有数据进行过滤处理。
这点性能开销,远比留下安全隐患划得来。

回答:

可以自定义一个文本框input html标签,带有一个特殊的属性,给希望过滤的input标签加上这个属性,后台根据属性判断是否过滤

回答:

要看内容格式,如果是 JS 的话,可以考虑Apache commons-lang escapeJavascript 方法

回答:

可以用别人的,比如163的 dun.163.com

回答:

全部统一过滤,含有富文本的单独过滤

回答:

https://github.com/yujunhao88…

本文地址:H5W3 » 对输入文字的敏感词过滤以及 XSS 特殊字符过滤什么方案比较好?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址