`

struts2参数名支持任意字符

阅读更多

struts2在传参数时会对参数名进行校瓮。默认的校验器只支持正常的命名规则,比如不支持中文。如果我的KEY是中文的就映射不上。我们要做的是覆盖默认的ParametersInterceptor。写一个类继承该类。重写isAccepted方法。直接返回true

protected boolean isAccepted(String arg0) {
		// TODO Auto-generated method stub
		return true;
	}

 然后在struts.xml中你的package下面配置该拦截器即可。配置如下:

<package name="rain" extends="struts-default">
	<interceptors>
       <interceptor name="params" class="com.taobao.restratin.ide.Interceptor.FixMethodFilterInterceptor">
       </interceptor>
   </interceptors>
   
		<action name="detail" class="deatilAction">
			 <interceptor-ref name="params">  
                         </interceptor-ref>
			<result name="success"></result>
		</action>
		 
		 
		 
	</package>

 

0
2
分享到:
评论
1 楼 jinnianshilongnian 2013-06-18  
估计处于测试目的,没有加如默认拦截器
<action name="detail" class="deatilAction"> 
             <interceptor-ref name="params">   
                         </interceptor-ref> 
            <result name="success"></result> 
  </action> 
          
提示一下:此处还需要把 默认的拦截器栈加上,否则如 数据绑定就没了;

相关推荐

    struts2-057-exp

    Struts2-057 EXP 是一个针对Apache Struts2框架的严重远程代码执行(RCE)漏洞,其CVE编号为CVE-2018-11776。这个漏洞影响了Struts2的多个版本,使得攻击者能够通过精心构造的HTTP请求在服务器端执行任意代码,从而...

    Struts2 S2-020在Tomcat 8下的命令执行分析1

    脚本特别关注那些接受字符串、布尔值或整型参数的setter方法,因为它们可能是OGNL注入的潜在目标。 `processClass`函数递归地检查每个对象的所有属性,通过`getMethods()`获取所有方法,并尝试调用getter方法来获取...

    struts2利用通配符调用同一个Action里面不同的方法

    Struts2是一个强大的Java web应用程序...在URL路径中使用星号(*)作为通配符,可以匹配任意字符串。例如,如果我们有一个名为`MyAction`的类,它有`save`、`update`和`delete`三个方法,我们可以这样配置: ```xml ...

    struts培训资料

    例如,`*`可以匹配任意字符,`{1}`、`{2}`等可以匹配请求路径中的参数,提高配置的灵活性。 九、Action的属性接收参数: 1. 在Action添加成员属性接受参数:Action类的成员变量可以直接对应HTTP请求中的参数,...

    赵栋struts2 笔记

    例如,使用星号(*)可以匹配任意字符串,这使得Action能够处理多个不同的请求。这种映射方式增强了Action的灵活性,减少了配置文件的复杂性。 3. **值栈的概念与获取**: 值栈是Struts2中一个重要的概念,它是一个...

    struts1.2和struts2区别

    此外,Struts2支持任意具有`execute`方法的POJO(Plain Old Java Object)作为Action,极大地增强了框架的灵活性和适应性。 #### 线程模型的演变 - **Struts1.2**:采用单例模式管理Action类,所有请求共享同一...

    Struts2的Action讲解

    - **动态方法调用**:Struts 2.0支持动态方法调用,即可以根据请求参数自动选择不同的方法执行。 #### 三、Struts 2.0 Action的具体实现 尽管Struts 2.0的Action可以非常简单,但在实际开发中,通常会继承`...

    struts2漏洞S2-0211

    该漏洞利用了Struts2框架中的某些特性,通过特定的HTTP请求参数绕过安全检查,进而执行任意代码或获取敏感信息。 #### 二、S2-0211漏洞分析 ##### 2.1 S2-020漏洞回顾 在讨论S2-0211之前,先简单回顾一下与其紧密...

    无中文乱码的Struts上传下载(任意文件上传)

    Struts框架是一款经典的...在Struts的配置文件`struts-config.xml`中,你需要为ActionForm指定一个字符编码,例如UTF-8,以确保接收到的参数(包括文件名)能够正确解析。示例配置如下: ```xml ...

    struts2通配符示例

    这个配置表示,任何以"user_"开头,后面跟着两个任意字符的请求都将映射到`UserAction`类,并且`{1}`和`{2}`将被替换为匹配的字符,用于动态生成结果页面。 3. **Action方法的参数绑定**: Struts2会自动将通配符...

    Apache的Struts2框架严重安全漏洞

    2. **配置ParameterInterceptor**:在Struts2的配置文件中,使用`excludeParams`属性定义一个白名单,只允许特定字符或参数名,限制OGNL表达式的解析。例如,禁止使用可能导致安全问题的特殊字符,如`\()`、`@`等。 ...

    struts2校验器类型详解

    ### Struts2校验器类型详解 #### 一、Struts2内建校验器 在探讨Struts2校验器之前,我们首先需要了解这些校验器是如何被定义和集成到框架中的。如文中所述,Struts2的内建校验器主要位于`xwork-2.0.4.jar`压缩包中...

    struts2知识总结.txt

    - Struts2支持国际化(Internationalization,简称i18n),可以通过配置文件指定字符集编码:`&lt;constant name="struts.i18n.encoding" value="UTF-8"/&gt;`。 - 默认的国际化资源文件位于`struts-core.jar`内的`org....

    Struts2安全漏洞实用

    再次,启用或配置Struts2的安全拦截器,如Params拦截器,它可以对输入数据进行预处理,过滤潜在的危险字符。 另外,还可以使用OWASP(开放网络应用安全项目)提供的工具和指南,例如OWASP ESAPI(Enterprise ...

    Struts2和Webwork远程命令执行漏洞分析1

    然而,Struts2的验证机制原本设计为阻止包含`#`的参数名,以防止OGNL表达式的执行。然而,开发人员在修复早期漏洞时,错误地使用正则表达式`{\\p{Graph}&&[^,#:=]}*`来过滤`#`字符。由于Java字符串的转义规则,用户...

    struts2漏洞分析

    在Struts2中,OGNL被用来传递和处理HTTP请求参数到Action类的属性。 漏洞的核心在于,攻击者可以通过构造特殊的URL请求,利用OGNL表达式绕过默认的安全限制,从而执行任意的Java代码。在给出的URL示例中,可以看到...

    Struts2框架安全缺陷.pdf

    开发者在使用Struts2时,如果不严格遵循安全编码规范,可能会引入安全风险,例如,不正确地处理用户输入,或者在Action类中直接使用未验证的参数,都可能导致安全漏洞。 Struts2框架的安全缺陷通常表现为: 1. **...

    struts2.1.3 简单下载文件

    这个版本的Struts2在处理Web应用中的各种任务,如表单处理、数据验证、文件上传下载等方面提供了强大的支持。在本程序中,我们关注的是如何使用Struts2.1.3实现一个简单的文件下载功能。 首先,我们需要在项目中...

Global site tag (gtag.js) - Google Analytics