OWASP ESAPI 过滤器 SafeRequest() 与 SecurityWrapperRequest() 过滤器

问题描述

我正在使用 esapi-2.1.0.1v 并尝试包含 Owasp-ESAPI 过滤器实用程序。 哪一个是 SafeRequest 和 SecurityWrapperRequest 之间的区别以及为以下案例添加的最佳实践:

request.getParameterMap();

return new SecurityWrapperRequest(request).getParameterMap(); //org.owasp.esapi.filters.SecurityWrapperRequest()

return return new SafeRequest(request).getParameterMap(); //org.owasp.esapi.filters.SafeRequest()

解决方法

没有 org.owasp.esapi.filters.SafeRequest 类。 (与此相关的是 src/main/test 下的 org.owasp.esapi.filters.SafeRequestTest 类,它是 JUnit 测试,因此您绝对不想要那个。 )

org.owasp.esapi.filters 包中实际上是 JavaEE servlet 过滤器的唯一类是:ClickjackFilterESAPIFilterRequestRateThrottleFilter 和(尽管它名称)、SecurityWrapper(事后看来,它应该被称为 SecurityWrapperFilter)。该 SecurityWrapper 过滤器使用 SecurityWapperRequestSecurityWrapperResponse 这两个类,它们也可以用作帮助您构建自己的 JavaEe servlet 过滤器的类。

ESAPIFilter 之外的所有内容都在 https://www.javadoc.io/static/org.owasp.esapi/esapi/2.2.3.1/org/owasp/esapi/filters/package-summary.html 的 Javadoc 包中进行了充分描述。除非您使用 ESAPI ESAPIFilter 接口,否则 Authenticator 可能对您没有用处。

希望能有所帮助。