2015-06-29 2 views
1

Может ли кто-нибудь дать некоторые соображения, чтобы начать работу с ESAPI в контексте без Интернета? Я пришел с этим небольшим тестом, который проверяет строку с DefaultValidator.isValidCreditCard, но я получил некоторые ошибки зависимости веб-контейнера.Как начать работу с ESAPI из контейнера сервлетов

Следующий метода потребляться из теста 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) 
... 

Звонки в ESAPI..xxxMethods() также повышают ошибки зависимостей.

Любые советы для начала работы будут оценены.

Бест,

хосе

ответ

1

ESAPI имеет фильтр API сервлета, который требует javax.servlet.ServletRequest быть на пути к классам. ESAPI принадлежит OWASP -> «Проект Open Web Application Security». Поэтому ESAPI разработан с учетом веб-приложений.

Если вы не пишете веб-приложение, это либо консольное приложение, либо богатое клиентское приложение. Если вы не собираетесь использовать его для подключения к внешнему миру, то основные безопасные методы, о которых вам действительно нужно беспокоиться, - это ensuring that you always use safely parameterized queries и что любые данные, переданные в ваше приложение из источника, подключенного к внешнему миру, убежали. Для этого единственное, что вам нужно, это OWASP's encoder project.

+0

Спасибо за ваш комментарий! Я посмотрю проект кодера. – Joselor

Смежные вопросы