前一段时间struts2爆出严重漏洞,因此需要将项目中struts2由2.3.1升级到2.3.15.1官方最新版本。在升级完成之后,发现原先运行正常的功能出问题了,页面向后台传递的部分参数丢失。通过跟踪struts2发现,负责处理页面参数ParametersInterceptor中默认参数过滤规则与2.3.1版本存在很大差异。
2.3.15.1版本: \w+((\.\w+)|(\[\d+\])|(\(\d+\))|(\['\w+'\])|(\('\w+'\)))*
2.3.1版本: [a-zA-Z0-9\\.\\]\\[\\(\\)_'\\s]+
因此像 map[user.id].value=1 这种格式的参数就会被过滤掉。为了解决这个问题,在params拦截器中,增加acceptParamNames参数,代码如下:
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
<param name="acceptParamNames">\w+((\.\w+)|(\[\d+\])|(\(\d+\))|(\['[a-z0-9A-Z_.]+'\])|(\('\w+'\)))*</param>
</interceptor-ref>
将原先倒数第二个\w+改为[a-z0-9A-Z_.]+,允许出现“.”符号,问题就解决了。
相关推荐
Struts 2是Java开发企业级Web应用的一个著名框架,其2.3.15.1版本是一个重要的发行版。这个"struts-2.3.15.1-all.zip"压缩包包含了Struts 2框架的完整组件,是开发者进行Struts 2应用开发的基础。下面将详细阐述...
本篇将详细介绍从Struts版本2.3.15.1到2.3.32的漏洞修复过程及其重要性。 首先,了解Struts的工作原理至关重要。Struts框架基于Model-View-Controller(MVC)设计模式,它处理HTTP请求,将这些请求映射到相应的...
Struts 2是Apache软件基金会旗下Struts 1的后续版本,它在功能和性能上都有显著提升,并且提供了一系列增强的功能和插件。 该框架的核心特性包括: 1. **Action与Result**:在Struts 2中,Action类是业务逻辑的...
Struts2.3.15.1是该框架的一个特定版本,包含了对之前版本的改进和修复,以提高性能和稳定性。 **1. 框架基础** Struts2的核心是Action类,它是业务逻辑的载体。每个Action对应一个用户请求,并负责处理请求、执行...
针对这个漏洞,Struts2官方发布了修复版本2.3.15.3,强烈建议所有使用旧版本的用户进行升级。 首先,我们需要了解为何Struts2会存在这样的漏洞。在Struts2的实现中,它允许开发者通过OGNL(Object-Graph Navigation...
这个版本是2.3.15.1,它提供了在Struts2应用中无缝集成Spring服务、依赖注入以及AOP(面向切面编程)的能力。在Java Web开发中,Struts2作为MVC框架,负责处理用户请求和展示视图,而Spring则是一个全面的轻量级应用...
在文件列表中提到了"struts-2.3.15.1",这是Struts2的一个旧版本,很可能存在上述的安全问题。如果你的应用程序正在使用这个版本,那么升级到最新稳定版本至关重要,以确保系统的安全性。 总的来说,理解并防范...
`struts2-json-plugin-2.3.15.1.jar` 是Struts2的JSON插件,用于支持JSON序列化和反序列化。在异步文件上传中,服务器端处理完文件后,通常会返回一个JSON响应,包含上传状态、文件信息等。前端JavaScript可以通过...
1. 首先,你需要下载Struts2框架的版本,例如struts-2.3.15.1。 2. 安装并配置Eclipse或MyEclipse,确保已安装JDK和Tomcat服务器。 3. 创建一个新的Web工程,如“struts2”。 4. 将Struts2框架中的jar包复制到Web...
1. 导入Struts2的jar包:Struts2.3.15.1提供了100多个jar包,但不是所有的jar包都需要。基本的jar包包括13个,可以参考Struts2-blank项目。 2. 配置Struts2:web.xml和struts.xml是Struts2的主要配置文件。struts....
13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select标签 13.9.8. option标签 13.9.9. options标签 13.9.10. textarea标签 13.9.11. hidden标签...
书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...
11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts 2 i18n快速展示 244 11.2.2 幕后一览 246 11.3 Struts 2 i18n详情 247 11.3.1 Struts 2默认的TextProvider Re-...
本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...
- 介绍了Struts 1.0版本的基础知识,包括安装配置、核心概念等。 - **1.4 Struts用户指南** - 提供了详细的使用指南,帮助开发者快速上手并解决常见问题。 #### 第2章 深入Struts结构 - **2.1 MVC框架介绍** - ...
13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. checkboxes标签 13.9.6. radiobutton标签 13.9.7. radiobuttons标签 13.9.8. password标签 13.9.9. select标签 13.9.10. option标签 ...
11.7.2. 处理BLOB 和 CLOB对象 11.7.3. 在IN语句中传入一组参数值 11.7.4. 处理复杂类型的存储过程调用 12. 使用ORM工具进行数据访问 12.1. 简介 12.2. Hibernate 12.2.1. 资源管理 12.2.2. 在Spring容器中...