(2.3.16.3升级到2.3.20)
版本改进:
? 合并后的安全修补程序版本中,2.3.16.1、 2.3.16.2、 2.3.16.3
? 扩展现有的安全机制来阻止访问给定的 Java 包和类
? RedirectResult 参数集合
? 在默认情况下,使 ParametersInterceptor 支持中文哈希键
? themes.properties可以使用加载 ServletContext 允许放在 WEB-INF 下或在类路径中的模板文件夹
? 新标记 datetextfield
? 只有缓存有效的 Ognl 表达式
? 自定义 TextProvider 可用于验证错误的模型驱动的行动
? datetimepicker 的标签固定
? PropertiesJudge 删除和属性已签入 SecurityMemberAccess
? 在 IBM JVM 资源重新加载工作
? 默认加载设置已被删除从 default.properties
? commons-fileupload.jar升级到版本 1.3.1 要修复潜在的安全漏洞
? <s:url> 标记组合属性可以使用表达式
? 解决 FastByteArrayOutputStream 中的无限循环问题
? LocalizedTextUtil 支持很多的类加载器
? 介绍了条例草案的材料 pom
? debug = browser|console 被迁移到 jQuery
? struts_dojo.js 被固定的
? 新增接口 org/apache/struts2/views/TagLibray,并且标记为 @Depreacted
Struts.xml :
Struts 2.3.20 配置文件新增加了参数为struts.excludedClasses,此参数为了严格验证排除一些不安全的对象类型。
<constant name="struts.excludedClasses"
value="
java.lang.Object,
java.lang.Runtime,
java.lang.System,
java.lang.Class,
java.lang.ClassLoader,
java.lang.Shutdown,
ognl.OgnlContext,
ognl.MemberAccess,
ognl.ClassResolver,
ognl.TypeConverter,
com.opensymphony.xwork2.ActionContext" />
<constant name="struts.excludedPackageNamePatterns"
value="^java\.lang\..*,^ognl.*,^javax.*" />
“java.lang.Classs”值过滤struts标签中静态方法调用
升级注意事项:
替换jar包:
l xwork-core-2.3.20.jar
l struts2-json-plugin-2.3.20.jar
l struts2-core-2.3.20.jar
l commons-lang3-3.2.jar
l freemarker-2.3.19.jar
项目struts.xml文件添加
<constant name="struts.excludedClasses"
value="
java.lang.Object,
java.lang.Runtime,
java.lang.System,
java.lang.ClassLoader,
java.lang.Shutdown,
ognl.OgnlContext,
ognl.MemberAccess,
ognl.ClassResolver,
ognl.TypeConverter,
com.opensymphony.xwork2.ActionContext" />