当前位置: 首页 > 知识库问答 >
问题:

如何从servlet容器开始使用ESAPI

宰父疏珂
2023-03-14

有人能给出一些在非Web上下文中开始使用ESAPI的注意事项吗?我附带了一个用DefaultValidator.ISValidCreditCard验证字符串的小测试,但是我得到了一些Web容器依赖项错误。

Junit测试使用以下方法:

@Override
public ValidationErrorList creditCard(String value) {
    this.value = value;
    ValidationErrorList errorList = new ValidationErrorList();
    try {
        isValid = validator.isValidCreditCard(null, value, false, errorList);
    }catch(Exception ie){
        System.out.println(">>> CCValidator: [ " + value + "] " +  ie.getMessage());
        messages = (ArrayList) errorList.errors();
    }
    return messages;
}
Attempting to load ESAPI.properties via file I/O.
Attempting to load ESAPI.properties as resource file via file I/O.
Found in 'org.owasp.esapi.resources' directory: C:\foundation\validation\providers\esapi\ESAPI.properties
Loaded 'ESAPI.properties' properties file
Attempting to load validation.properties via file I/O.
Attempting to load validation.properties as resource file via file I/O.
Found in 'org.owasp.esapi.resources' directory: C:\foundation\validation\providers\esapi\validation.properties
Loaded 'validation.properties' properties file
SecurityConfiguration for Encoder.AllowMixedEncoding not found in ESAPI.properties. Using default: false
SecurityConfiguration for Encoder.AllowMixedEncoding not found in ESAPI.properties. Using default: false

javax/servlet/ServletRequest
java.lang.NoClassDefFoundError: javax/servlet/ServletRequest
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.owasp.esapi.util.ObjFactory.make(ObjFactory.java:74)
    at org.owasp.esapi.ESAPI.httpUtilities(ESAPI.java:121)
    at org.owasp.esapi.ESAPI.currentRequest(ESAPI.java:70)
    at org.owasp.esapi.reference.Log4JLogger.log(Log4JLogger.java:434)
...

最好的,

何塞

共有1个答案

祁承望
2023-03-14

如果您不编写web应用程序,那么它要么是控制台应用程序,要么是富客户端应用程序。如果您不希望使用它连接到外部世界,那么您真正需要担心的主要安全做法是确保始终安全地使用参数化查询,以及从连接到外部世界的源传递到应用程序的任何数据都正确转义。为此,您唯一需要的是OWASP的编码器项目。

 类似资料:
  • 主要内容:Web 服务器,Web 容器您可能已经知道,部署动态网站一般需要 Web 服务器的支持,例如: 运行 PHP 网站一般选择 Apache 或者 Nginx; 运行 ASP/ASP.NET 网站一般选择 IIS; 运行 Python 网站一般选择内置的 WSGI 服务器模块——wsgiref。 Web 服务器是一种对外提供 Web 服务的软件,它可以接收浏览器的 HTTP 请求,并将处理结果返回给浏览器。 在部署 Servle

  • 我有两个IP的主节点和工作节点?我需要使用这些部署一些服务。我对kubernetes一无所知,什么是主节点和工作节点? 我该如何开始?

  • 问题内容: 我需要主键从1000开始。 我正在使用MySQL。 问题答案: 如果您的表已经使用自动增量创建。所以你可以使用 否则把你的 它在决赛之前);

  • 问题内容: 我已经下载了最新版本的JFreeChart(1.0.14),并想开始使用它。我只像以前一样导入标准Java程序包,并且从未处理过第三方库。我需要告诉jGRASP哪些信息,使其了解并可以访问JFreeChart库?我试图这样导入它,但收到以下错误。 问题答案: 您必须将库的jar文件添加到编译时和运行时CLASSPATH中。在jGRASP中,您可以通过“设置> PATH / CLASSP

  • 我以前从未使用过任何第三方库。下载了后该怎么办? 我不知道我是否做对了这些事情: 1。放置与我的源代码位于同一目录中 2。在源代码中导入所需的类(例如,) 许多文章告诉您如何在IDE中做到这一点。但是我用vim编写代码,自己编译,而不是IDE。那么,假设我没有做错任何事情,我应该如何用编译源代码,用运行代码? 编辑: 这是我的文件布局: /src |-测试。java /lib |-jcommon-

  • 本文向大家介绍Java如何使用Jetty实现嵌入式的Servlet容器,包括了Java如何使用Jetty实现嵌入式的Servlet容器的使用技巧和注意事项,需要的朋友参考一下 最近在项目中遇到关于jetty的问题,所以在网上做一些科普,接下来就给大家做一些分享: Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也

  • 我想在主机上使用Docker套接字,从Go代码运行在基于scratch的容器中。 Dockerfile如下所示: docker服务本身包括一个用于var/run/docker的挂载。袜子 docker service inspect的输出: 我尝试过的事情: > 触摸/var/run/docker。在生成器上单击并复制--chown=nobody:nobody--from=builder/var/

  • 问题内容: 如何实例化servlet?如何使用session?如何共享变量?如何在多线程中使用? 问题答案: ServletContext 当servlet容器(如Apache Tomcat)启动时,它将部署并加载其所有Web应用程序。加载Web应用程序后,Servlet容器将创建ServletContext一次并将其保存在服务器的内存中。Web应用程序的web.xml所有包含的web-fragm