欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSP Struts過濾xss攻擊的解決辦法

 更新時(shí)間:2017年05月25日 09:29:46   投稿:lqh  
這篇文章主要介紹了JSP Struts過濾xss攻擊的解決辦法的相關(guān)資料,需要的朋友可以參考下

JSP Struts過濾xss攻擊的解決辦法

本方案采用struts2的攔截器過濾,將提交上來的參數(shù)轉(zhuǎn)碼來解決。

配置struts.xml

<package name="default" namespace="/"
    extends="struts-default, json-default">
    <!-- 配置攔截器 -->
    <interceptors>
      <!-- 定義xss攔截器 -->
      <interceptor name="xssInterceptor" class="...此處填寫攔截器類名"></interceptor>
      <!-- 定義一個(gè)包含xss攔截的攔截棧 -->
      <interceptor-stack name="myDefault">
        <interceptor-ref name="xssInterceptor"></interceptor-ref>
        <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
    </interceptors>
    <!-- 這個(gè)必須配置,否則攔截器不生效 -->
    <default-interceptor-ref name="myDefault"></default-interceptor-ref>
    <action>
    ...此處省略n個(gè)action
    </action>
  </package>

Java代碼,攔截器實(shí)現(xiàn)類

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();
    Map<String, Object> map = actionContext.getParameters();
    for (Map.Entry<String, Object> entry : map.entrySet()) {
      String value = ((String[])(entry.getValue()))[0];
      entry.setValue(StringEscapeUtils.escapeHtml4(value));//將提交上來的字符串進(jìn)行轉(zhuǎn)碼
      //System.out.println((entry.getValue()));
    }
    return invocation.invoke();
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論