我正在为我的项目使用 ESAPI,并添加了 ESAPI 配置目录,src/main/resources
以便将其复制到我的 WAR 文件中(我从 cloudbees 下载了 WAR,我可以看到它已放在WEB-INF/classes/esapi/
目录中)
在本地,我只是指向目录所在的位置,一切正常,但在 cloudbees 上它对我不起作用。
为了访问它的属性,ESAPI 项目尝试了各种各样的东西,包括检查org.owasp.esapi.resources
系统属性,所以我添加了以下代码cloudbees-web.xml
:
<sysprop name="org.owasp.esapi.resources" value="WEB-INF/classes/esapi/" />
我可以看到由于日志中的以下错误而找到了系统属性值:
Not found in 'org.owasp.esapi.resources' directory or file not readable: /var/genapp/apps/akld3873/WEB-INF/classes/esapi/ESAPI.properties
所以它会找到系统属性(因为路径就像我指定的那样),但是当它在其中查找实际目录和文件时,我猜该目录不存在或不可读。
我需要把它移到别的地方吗?也许在 WEB-INF 目录里面?设置不对吗?我读过其他人通过为这个目录构建一个 JAR 解决了类似的问题,但这似乎不是一个好的解决方案,必须有一个简单的设置适用于 cloudbees。