猿问

对输入文字的敏感词过滤以及 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;
}

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

慕雪6442864
浏览 1083回答 7
7回答

猛跑小猪

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

翻翻过去那场雪

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

ibeautiful

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

人到中年有点甜

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

萧十郎

全部统一过滤,含有富文本的单独过滤
随时随地看视频慕课网APP

相关分类

Java
我要回答