此规则会标记引用了以下方法和参数的 Java 代码:
javax.servlet.http.HttpServletRequest.getRealPath("")javax.servlet.ServletContext.getRealPath("")javax.servlet.ServletRequest.getRealPath("")在 Tomcat 中,这些方法调用将返回以正斜杠结尾的字符串。 在 Liberty 中,返回值将不以正斜杠结尾。因此,使用该方法的字符串并置可能在 Tomcat 中指向有效文件,但在 Liberty 中可能未指向有效文件。对于每个标记的方法调用,检查使用结果的任何代码是否导致在 Liberty 中缺少后置斜杠。
例如,假定已将分解的 war 安装到 /path/app.war。然后,调用 getRealPath("") 将产生以下结果:
/path/app.war//path/app.war