【问题标题】:Correct location for ESAPI.properties under web projectWeb 项目下 ESAPI.properties 的正确位置
【发布时间】:2015-04-24 08:19:47
【问题描述】:

我在我的项目中添加了一个 OWASP ESAPI 库。目前我遇到了在哪里找到ESAPI.properties 文件的问题。这个项目稍后应该部署在我无权访问的几台服务器上。所以在我看来,没有办法自定义org.owasp.esapi.resources 变量,我不能把它放在用户主目录下。所以我可以放这个文件的唯一地方是SystemResource Directory/resourceDirectory,但它在哪里?我已经尝试将这些文件:

.esapi/ESAPI.properties
esapi/ESAPI.properties
ESAPI.properties

进入这些位置:

$CATALINA_HOME/webapps/<MY_PROJECT>/
$CATALINA_HOME/webapps/<MY_PROJECT>/WEB-INF
$CATALINA_HOME/webapps/<MY_PROJECT>/WEB-INF/classes
$CATALINA_HOME/webapps/<MY_PROJECT>/META-INF

但是在所有这些地方我都得到一个错误: Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties

那么我应该在哪里找到这个文件?这是一个遗留项目(只是 Eclipse 项目 没有 Maven),它的结构非常丑陋。没有像/src/main/resources 这样的目录,在我看来这个ESAPI.properties 文件应该位于哪里。我已经创建了这个目录,但是在将 WAR 存档部署到 Tomcat 之后,这个文件最终应该在哪里?

【问题讨论】:

    标签: java eclipse esapi


    【解决方案1】:

    ESAPI.properties 文件应位于esapi 目录下的CLASSPATH 中。

    假设您有一个模块以两种形式中的任何一种部署到战争中:作为 jar 或作为类展开。 只需在您使用 OWASP ESAPI 3rd 方的模块的源代码中创建一个目录。

    从 Eclipse 的角度来看,无论您是否使用 maven,文件只需要在 CLASSPATH 中即可。使用maven时,mavenresources目录通过m2eclipse插件转换为eclipsesources目录。

    示例(使用eclipse标准源码结构):

    src
    |---com
    |   |---module
    |   |   |---SomeClass.java
    |---esapi
    |   |---ESAPI.properties
    

    【讨论】:

    • 非常感谢您的帮助。不幸的是,看起来这种结构也不起作用。我只是尝试以这种方式构建一个war文件。在 WAR 文件和已部署的文件夹中,我看到 ESAPI 配置文件与我的类(/WEB-INF/classes)位于同一目录中。类根文件夹应该是com。还有esapi/ESAPI.properties 文件。但我仍然看到Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties 错误消息。
    • 你用的是哪个版本的esapi?
    • OWASP ESAPI v2.1.0 它可以很好地从我的主目录加载配置文件。
    • UPD:终于成功了。如上所述配置。我真的不知道为什么它以前不起作用。我唯一改变的是从构建路径中排除测试。非常感谢。
    【解决方案2】:

    也许这会有所帮助。它描述了在 ESAPI 2.x 中实现以查找 ESAPI.properties 文件的搜索顺序: http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/org/owasp/esapi/reference/DefaultSecurityConfiguration.html

    我认为文档是最新的,但您可以在 DefaultSecurityConfiguration.java 的 loadConfiguration() 方法中找到有关如何实现它的详细信息,您可以在此处找到:

    https://static.javadoc.io/org.owasp.esapi/esapi/2.0.1/org/owasp/esapi/reference/DefaultSecurityConfiguration.html

    希望对您有所帮助。 -凯文

    【讨论】:

    【解决方案3】:

    只是一个可能相关的小更新。看起来 2.1.0.1 版本意外破坏了之前的 2.x 搜索顺序(为了支持 ESAPI 的 XML 配置属性)。这将在(尚未确定的)ESAPI 点版本中修复。详情请见ESAPI GitHub issue 397

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多