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)文章
jsp頁面間傳中文參數(shù)示例(頁面?zhèn)鲄?shù)編碼)
在url地址欄使用中文傳參數(shù)可能會是亂碼了,下面我們來看看正確的jsp中頁面間傳中文參數(shù)轉(zhuǎn)碼的方法2014-01-01JSP連接MySql/MS SQL Server/Oracle數(shù)據(jù)庫連接方法[整理]
這個(gè)經(jīng)常整理更新2008-10-10用JS實(shí)現(xiàn)購物網(wǎng)站商品放大鏡效果
大家?guī)缀醵加性诰W(wǎng)上購物的經(jīng)驗(yàn),有的網(wǎng)站會有一個(gè)商品放大鏡功能,這篇文章主要介紹了用JS實(shí)現(xiàn)購物網(wǎng)站商品放大鏡效果,有需要的朋友可以看看。2016-10-10JAVA/JSP學(xué)習(xí)系列之六(MySQL翻頁例子)
JAVA/JSP學(xué)習(xí)系列之六(MySQL翻頁例子)...2006-10-10jsp實(shí)現(xiàn)點(diǎn)擊help打開chm文件
有個(gè)javaweb項(xiàng)目,需要在portal上面點(diǎn)擊help即可打開“幫助.chm”文件,下面與大家分享下jsp如何打開chm文件2014-09-09