Filter過濾器,過濾getParameterMap()資料
阿新 • • 發佈:2020-09-08
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