您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“struts2攔截器修改request的parameters參數(shù)失敗怎么解決”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“struts2攔截器修改request的parameters參數(shù)失敗怎么解決”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
為了解決struts2的xss(跨站腳本攻擊)問題,我打算用struts2自帶的攔截器來過濾所有由request傳遞來的參數(shù)。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <!-- 配置一系列常量,非必須 --> <constant name="struts.i18n.encoding" value="UTF-8"/> <!-- constant name="struts.devMode" value="true"/ --> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.objectFactory.spring.autoWire" value="auto"></constant> <constant name="struts.multipart.saveDir" value="/tmp"/> <package name="default" namespace="/" extends="struts-default, json-default"> <!-- 配置攔截器 --> <interceptors> <!-- 定義xss攔截器 --> <interceptor name="xssInterceptor" class="xx.xx.xx(此處填寫攔截器對應(yīng)的類)"></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> </package> </struts>
一開始我配置的攔截棧是這樣的
<interceptor-stack name="myDefault"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="xssInterceptor"</interceptor-ref> </interceptor-stack>
發(fā)現(xiàn)我執(zhí)行過濾的那個類被執(zhí)行了,但是action中注入的值沒有更改
只需要把順序換一下就好了。
<!-- 修改prepareInterceptor的alwaysInvokePrepare屬性值為false --> <interceptors> <interceptor-stack name="atzhu">//自定義的攔截器棧名。 <interceptor-ref name="paramsPrepareParamsStack"> <param name="prepare.alwaysInvokePrepare">false</param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="atzhu"/>
讀到這里,這篇“struts2攔截器修改request的parameters參數(shù)失敗怎么解決”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。