技術總結 使用Filter進行XSS過濾

2021-09-29 17:46:42 字數 1238 閱讀 7056

一般來說,系統進行表單資料處理時都需要解決類似xss攻擊以及轉義這樣的問題,這樣的問題具有普遍性,不可能在每個提交表單資料的處理中都加入重複的處理**。通常通過 filter 或 interceptor 來攔截處理。

這裡介紹下通過 filter 進行xss過濾的方法。

流程:使用filter攔截請求,將普通請求轉化為包裝過的可以處理xss的自定義請求,之後獲取引數時都會經過xss處理。

xssfilter

public

class

xssfilter

implements

filter

;@override

public

void

dofilter

(servletrequest request, servletresponse response, filterchain chain)

throws ioexception, servletexception

} chain.

dofilter

(newrequest, response);}

@override

public

void

init

(filterconfig filterconfig)

@override

public

void

destroy()

}

/**

* xss 通過重寫引數獲取方法實現.

*/public

class

extends

@override

public string getparameter

(string name)

return value;

}@override

public string[

]getparametervalues

(string name)

}return values;

}@override

public string getheader

(string name)

return value;

}private string xssreplace

(string value)

else

return reslut;

}}

使用filter進行文字替換

問題描述 filter的使用很簡便,如下示例為檔案拷貝過程中進行文字替換。可以很簡便的設定begintoken及endtoken來定義要被替換的文字的前後定界符,預設為 可以自定義其他定界符。然而,當我們的文字中沒有!等特殊符號時該怎麼辦呢,如下面的oldfile.txt.fowjow was ho...

使用Filter進行 過濾非法登入使用者

很多時候,我們都需要做使用者登入和登入使用者的許可權管理,如何防止沒登入系統的使用者訪問不該訪問的頁面呢?第一種解決辦法,在沒個使用者登入相關的頁面中判定相應的session是否為空,系統比較小該方法還可行?系統比較大呢?上千個頁面呢?難道也要在每個頁面中去判斷嗎?這或許不太可取 第二種,引入fil...

Spring 4 x使用Junit4進行單元測試

最近公司使用spring框架開發,以前用的不多,開始使用了之後,想寫個單元測試來測試一下功能,於是乎從網上找了一下測試的例子,看到最多的就是使用 runwith springjunit4classrunner.class contextconfiguration locations 這種型別的,需要...