Struts2 DMI(动态方法调用)
在后期的 Struts2 版本中,官方已经默认禁用了DMI(动态方法调用)。官方推荐使用通配符的做法。
其中有一点说是:如果使用 POJO Action 时,开启 DMI 可能会引起安全问题
会有什么样的安全问题?而使用通配符的做法就没有这据说的安全问题呢?能否举个示例代码或应用场景来说明这安全问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
通配符一般配置成:<action name="actionName_*" method="{1}" class="actions.ActionName"> 而通配符的也可以随意调用方法,只是写法不一样。还有别的的形式注入吗?能否举个例子呢?
如果不使用*可能会被有心者猜出你的method命名方式, 从而把不愿意让普通用户调用的特权方法提权给有心者调用到... 我能想到的只有这个吧...
回复
* 是通配符哦
是否可能引起注入?
因为调用方法暴露在url里...
对struts2不是很了解 仅仅是猜测.