0514-86177077
9:00-17:00(工作日)
JSP Struts過濾xss攻擊的解決辦法
本方案采用struts2的攔截器過濾,將提交上來的參數轉碼來解決。
配置struts.xml
package name="default" namespace="/" extends="struts-default, json-default"> !-- 配置攔截器 --> interceptors> !-- 定義xss攔截器 --> interceptor name="xssInterceptor" class="...此處填寫攔截器類名">/interceptor> !-- 定義一個包含xss攔截的攔截棧 --> interceptor-stack name="myDefault"> interceptor-ref name="xssInterceptor">/interceptor-ref> interceptor-ref name="defaultStack">/interceptor-ref> /interceptor-stack> /interceptors> !-- 這個必須配置,否則攔截器不生效 --> default-interceptor-ref name="myDefault">/default-interceptor-ref> action> ...此處省略n個action /action> /package>
Java代碼,攔截器實現類
import java.util.Map; import org.apache.commons.lang3.StringEscapeUtils; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class XssInterceptor extends AbstractInterceptor{ @Override public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub ActionContext actionContext = invocation.getInvocationContext(); MapString, Object> map = actionContext.getParameters(); for (Map.EntryString, Object> entry : map.entrySet()) { String value = ((String[])(entry.getValue()))[0]; entry.setValue(StringEscapeUtils.escapeHtml4(value));//將提交上來的字符串進行轉碼 //System.out.println((entry.getValue())); } return invocation.invoke(); } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
標簽:自貢 山南 吉林 開封 白銀 銅川 臨汾 烏蘭察布
上一篇:JSP 自定義注解及記錄操作日志
下一篇:jsp用過濾器解決中文亂碼問題的方法
Copyright ? 1999-2012 誠信 合法 規范的巨人網絡通訊始建于2005年
蘇ICP備15040257號-8