繁体   English   中英

为 ESAPI 设置资源目录

[英]Setting resource directory for ESAPI

在使用 OWASP 的 ESAPI 时,我发现自己被困在这一行特定的代码中。

private static String customDirectory = System.getProperty("org.owasp.esapi.resources");

代码返回 null,因为我的计算机上没有设置这样的系统属性“org.owasp.esapi.resources”。 有没有办法在我的电脑上永久设置这个属性?

您需要将它作为命令行属性传递到 JVM 中。 大多数应用程序容器使用环境变量 JAVA_OPTS 作为应该传递给 JVM 的选项的“永久”存储。 你可以尝试做这样的事情:

在 *nix 中:

export JAVA_OPTS="-Dorg.owasp.esapi.resources=/path/to/esapi/configuration"

在窗口中:

set JAVA_OPTS="-Dorg.owasp.esapi.resources=C:\path\to\esapi\configuration"

您可以将此作为启动命令添加到 windows 或 linux 中,如果您愿意,它将始终进行设置,或者将其添加到应用程序的启动脚本中以获得更本地化的解决方案。

如果您将 ESAPI.properties 和 Validation.properties 放在资源文件夹中,它将自动识别。

如果您需要指定特定文件夹或子文件夹,一种可能性是在您的独立文件中添加此属性。

<system-properties>
    <property name="org.owasp.esapi.resources" value="C:/.../resources/esapi"/>
<system-properties>

但是,在单元测试中,您必须在测试之前指定。

@BeforeClass
public static void before() {    
   if(System.getProperty("org.owasp.esapi.resources") != null) {
      System.out.println(System.getProperty("org.owasp.esapi.resources"));
   } else  {
      System.setProperty("org.owasp.esapi.resources", "src/main/resources");
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM