1. 程式人生 > 實用技巧 >Filter過濾器,過濾getParameterMap()資料

Filter過濾器,過濾getParameterMap()資料

 else if(method.getName().equals("getParameterMap")){
                    Map<String,String[]> map = (Map<String, String[]>) method.invoke(req, args);
                    if(map!=null){
                        for (String s : list) {
                            for (String key : map.keySet()) {
                                
if(map.get(key)[0].contains(s)){ map.get(key)[0]= map.get(key)[0].replace(s,"***"); } } } } return map; } //不是就傳遞真實物件,和args陣列
return method.invoke(req, args); } }); //2.放行!注意這時候穿proxy_req 在Servlet呼叫getParameter方法才會走增強的邏輯! chain.doFilter(proxy_req, resp);

注意contain()兩頭的位置,是大包小

[笨蛋, 壞蛋, fuck]

輸出:

key=name,value=zhang
key=msg,value=***zhang