广告
返回顶部
首页 > 资讯 > 精选 >struts2拦截器修改request的parameters参数失败怎么解决
  • 249
分享到

struts2拦截器修改request的parameters参数失败怎么解决

2023-06-29 10:06:11 249人浏览 安东尼
摘要

本文小编为大家详细介绍“struts2拦截器修改request的parameters参数失败怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“struts2拦截器修改request的parameters参数失败怎么解决”文章能帮助大家

本文小编为大家详细介绍“struts2拦截器修改request的parameters参数失败怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“struts2拦截器修改request的parameters参数失败怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

struts2 拦截器修改request的parameters参数失败

为了解决struts2的xss(跨站脚本攻击)问题,我打算用struts2自带的拦截器来过滤所有由request传递来的参数。

<?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(此处填写拦截器对应的类)"></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>

发现我执行过滤的那个类被执行了,但是action中注入的值没有更改

只需要把顺序换一下就好了。

修改指定拦截器的参数(Struts2)

<!-- 修改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参数失败怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: struts2拦截器修改request的parameters参数失败怎么解决

本文链接: https://www.lsjlt.com/news/324167.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作