【发布时间】:2016-06-28 21:15:28
【问题描述】:
我已将 log4j 从 1.X 升级到 2.3。日志记录工作正常。但是,我正在使用 ESAPI,现在它给了我错误。
这是我的 ESAPI 导入语句:
import org.owasp.esapi.ESAPI;
这就是我使用 ESAPI 的方式:
ESAPI.encoder().encodeForHTML(somevalue)
我收到的异常是:
exception org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception.
org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException Encoder class (org.owasp.esapi.reference.DefaultEncoder) CTOR threw exception.
at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:129) ~[esapi-2.1.0.jar:2.1.0]
at org.owasp.esapi.ESAPI.encoder(ESAPI.java:99) ~[esapi-2.1.0.jar:2.1.0]
我正在使用 Eclipse,我正在使用 log4j-api-2.3.jar 和 log4j-core-2.3.jar
【问题讨论】:
-
如果取出log4j,还会报esapi错误吗?
-
@rajah9 我很难检查它,因为它嵌套在应用程序的深处。删除 log4j 会导致大量错误。不过,我可以告诉你,使用 log4j1.2.9 效果很好。
-
仅供参考:。最新版本的 ESAPI 是 2.1.0.1
-
我尝试使用 ESAPI 2.1.0.1 并收到以下错误:org.owasp.esapi.errors.ConfigurationException: java.lang.reflect.InvocationTargetException SecurityConfiguration class (org.owasp.esapi.reference. DefaultSecurityConfiguration) CTOR 抛出异常。