鍍金池/ 問答/Java  HTML/ 對(duì)輸入文字的敏感詞過濾以及 XSS 特殊字符過濾什么方案比較好?

對(duì)輸入文字的敏感詞過濾以及 XSS 特殊字符過濾什么方案比較好?

java web 項(xiàng)目里

post 提交的內(nèi)容里,其實(shí)有很多輸入不需要敏感詞過濾以及 XSS 特殊字符過濾

譬如 select 下拉框選項(xiàng),輸入都是確定的內(nèi)容

只是那些文本框 input 需要過濾

如果用過濾器,那就會(huì)對(duì)所有的輸入進(jìn)行過濾

這顯然不太好,開銷太大

對(duì)輸入文字的敏感詞過濾以及 XSS 特殊字符過濾什么方案比較好?

我現(xiàn)在做法

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

但是這樣做不到區(qū)別對(duì)待
最關(guān)鍵的是: 如何區(qū)分對(duì)待

回答
編輯回答
編輯回答
心癌

全部統(tǒng)一過濾,含有富文本的單獨(dú)過濾

2017年8月26日 16:27
編輯回答
笑浮塵

前端產(chǎn)生的數(shù)據(jù)并不可靠,懂行的人可以輕易繞過前端設(shè)置的各種校驗(yàn)規(guī)則。
安全起見,后端在入庫前應(yīng)對(duì)前端產(chǎn)生的所有數(shù)據(jù)進(jìn)行過濾處理。
這點(diǎn)性能開銷,遠(yuǎn)比留下安全隱患劃得來。

2018年8月13日 08:45
編輯回答
臭榴蓮

只要內(nèi)容是用戶產(chǎn)生的,都要“原樣顯示”。后端模板都有相關(guān)機(jī)制處理,前端的框架也有。

2017年7月3日 17:04
編輯回答
初心

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

2018年3月19日 13:26
編輯回答
網(wǎng)妓

可以自定義一個(gè)文本框input html標(biāo)簽,帶有一個(gè)特殊的屬性,給希望過濾的input標(biāo)簽加上這個(gè)屬性,后臺(tái)根據(jù)屬性判斷是否過濾

2018年3月28日 13:02
編輯回答
若相惜

要看內(nèi)容格式,如果是 JS 的話,可以考慮Apache commons-lang escapeJavascript 方法

2017年7月6日 23:56