struts2的路径处理机制

Posted rememberw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2的路径处理机制相关的知识,希望对你有一定的参考价值。

近测试公司一个已经上线好久的老项目接口时候发现访问路径错误也能访问。

欣喜若狂以为发现了struts2的漏洞;后来网上查找相关资料发现这只是struts2的对路径的一个默认处理;

接口正常路径:http://localhost:8080/wxt/hr/basicInfor!getRequisiteInfo.action

测试路径:http://localhost:8080/wxt/hr/wxt/basicInfor!getRequisiteInfo.action

 

后来阅读struts2源码发现其默认会对嵌套路径(多斜杠)进行优化处理

代码如下:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

查找struts2配置才知道

  • struts.enable.SlashesInActionNames 在URL中的Action段中是否支持斜线
  • 最后只需要在struts配置文件中修改值就解决了
  • <constant name="struts.enable.SlashesInActionNames" value="true"/>

以上是关于struts2的路径处理机制的主要内容,如果未能解决你的问题,请参考以下文章

struts2的异常处理机制

代码总结Struts2 拦截器的处理机制

java之struts2之异常处理

struts2运行机制

Struts2的异常处理

初见Struts2