FilterDispatcher已被标注为过时解决办法 >>> FilterDispatcher <<< is deprecated!

来源:互联网 发布:猎头骗阿里程序员 编辑:程序博客网 时间:2024/05/16 18:21
   Struts2 最近爆出高危漏洞,黑客利用这个漏洞可以执行任意命令(包括恶意的jsp代码),轻松绕过您的验证系统,登陆您的网站后台,使您的网站后台密码形同虚设!!

   今天将struts2的包从2.1升级到2.3,结果老提示warning如下:

    ***********************************************************************
    *                               WARNING!!!                            *
    *                                                                     *
    * >>> FilterDispatcher <<< is deprecated! Please use the new filters! *
    *                                                                     *
    *           This can be a source of unpredictable problems!           *
    *                                                                     *
    *              Please refer to the docs for more details!             *
    *            http://struts.apache.org/2.x/docs/webxml.html            *
    *                                                                     *
    ***********************************************************************

    警告:FilterDispatcher已经过时啦!请使用新的filter!原来配置的org.apache.struts2.dispatcher.FilterDispatcher

   打开警告里提到的链接,我们可以找到 FilterDispatcher Example(web.xml)

   这FilterDispatcher Example并没有FilterDispatcher,而是变成了这一句:

     org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

  往下看,原来从>=2.1.3的版本开始,FilterDispatcher被标记为过时,取而代之的是新的

     StrutsPrepareAndExecuteFilter

  所以如果你的struts版本大于2.1.3时,filter配置要变成:

     org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
    
  如果是低于2.1.3版本,则还用本文最开始的配置即可。
0 0