Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cookies 修复HttpHeader中的CRLF序列时遇到NoClassDefFoundError_Cookies_Http Headers_Noclassdeffounderror_Esapi_Veracode - Fatal编程技术网

Cookies 修复HttpHeader中的CRLF序列时遇到NoClassDefFoundError

Cookies 修复HttpHeader中的CRLF序列时遇到NoClassDefFoundError,cookies,http-headers,noclassdeffounderror,esapi,veracode,Cookies,Http Headers,Noclassdeffounderror,Esapi,Veracode,在对我的代码执行Vera代码扫描后,报告了一个缺陷,在下面的代码上显示“HTTP头中CRLF序列的不正确中和('HTTP响应拆分-CWE ID 113') public void writeCookies() { for (final Cookie cookie : cookies) { super.addCookie(cookie); } 报告的缺陷代码是super.addCookie(cookie)。为了修复此

在对我的代码执行Vera代码扫描后,报告了一个缺陷,在下面的代码上显示“HTTP头中CRLF序列的不正确中和('HTTP响应拆分-CWE ID 113')

public void writeCookies() {
            for (final Cookie cookie : cookies) {
                super.addCookie(cookie);
            }
报告的缺陷代码是super.addCookie(cookie)。为了修复此问题,我在下面添加了代码

public void writeCookies() {
            for (final Cookie cookie : cookies) {
                cookie.setSecure(true);
                ESAPI.httpUtilities().addCookie(((HttpServletResponse)super.getResponse()),cookie);
            }
        }
现在Veracode扫描没有报告代码中的任何缺陷

错误消息:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileItemFactory错误代码:500目标 Servlet:com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor 错误堆栈:java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileItemFactory 位于java.lang.J9VMInternals.verifyImpl(本机方法) 在java.lang.J9VMInternals.verify(J9VMInternals.java:94)中 在java.lang.J9VMInternals.initialize(J9VMInternals.java:171)中 位于java.lang.Class.forNameImpl(本机方法) 位于java.lang.Class.forName(Class.java:180) 位于org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:74) 位于org.owasp.esapi.esapi.httpUtilities(esapi.java:121)

我的ESAPI.properties文件位于src/main/resources/ESAPI.properties位置 ESAPI.properties文件的内容为

*

编码器。AllowMultipleEncoding=false编码器。AllowMixedEncoding=false Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec ESAPI.HTTPUtilities=org.owasp.ESAPI.reference.DefaultHTTPUtilities

*


请建议我如何修复此NoClassDefFoundError…

它位于stacktrace中。
java.lang.NoClassDefFoundError:org.apache.commons.fileupload.FileItemFactory
该库不在您的类路径上。您使用的是什么版本的ESAPI?我使用的是ESAPI 2.1.0.1。我怀疑配置ES时存在一些配置问题API httputilities,我不确定ESAPI.properties中设置的上述属性是否是为httputilities设置的正确方法。将此添加到应用程序时会发生什么:
commons fileupload commons fileupload 1.3.3