Ошибка при использовании esapi

Я пытаюсь использовать OWASP ESAPI в своем проекте. но проблема в том, что документация по owasp слишком сложна для меня. Я пытаюсь использовать проверку от esapi, но не могу получить результаты, даже если ошибки нет.

import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Validator;

public void security(String s) {
        System.out.println("connect 1");
        Validator instance = ESAPI.validator();
        System.out.println("connect 2");
        System.out.println(instance.isValidInput("test", "[email protected]", "Email", 100, false));
    }

Вот результаты, если я попытаюсь запустить его 3 раза:

    connect 1
    Attempting to load ESAPI.properties via file I/O.
    Attempting to load ESAPI.properties as resource file via file I/O.
    Not found in 'org.owasp.esapi.resources' directory or file not readable: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.22\bin\ESAPI.properties
    Not found in SystemResource Directory/resourceDirectory: .esapi\ESAPI.properties
    Found in 'user.home' directory: C:\Users\xxxx\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.
    Not found in 'org.owasp.esapi.resources' directory or file not readable: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.22\bin\validation.properties
    Not found in SystemResource Directory/resourceDirectory: .esapi\validation.properties
    Found in 'user.home' directory: C:\Users\xxxx\esapi\validation.properties
    Loaded 'validation.properties' properties file
connect 1
connect 1

как видите, ошибок нет и свойства загружены правильно. моя проблема в том, почему он остановился там. почему «подключить 2» не напечатано? и почему результаты instance.isValidInput тоже не печатаются?


person Morgan Azhari    schedule 27.06.2012    source источник


Ответы (3)


Для проверки я использовал этот код непосредственно там, где мне нужно проверить ввод пользователя.

String validatedAlertId = ESAPI.validator().getValidInput("alertId", alertId, "AlertIdRejex", 25, false);

У вас может быть что-то вроде этого.

    public String security(String s) {
            System.out.println("connect 1");
            valiDatedString = ESAPI.validator().getValidInput("test", "[email protected]", "Email", 100, false);                
            System.out.println("connect 2"+valiDatedString);
            return valiDatedString
        }

// ВЫЗОВ КЛАССА/ОБЪЕКТА

AAAA.security Этот код сработал для меня. Для net beans и его конфигурации для файла свойств проверьте этот URL.

person R.K.R    schedule 02.07.2012
comment
Лучшая ссылка на этот файл: owasp.org/images/4 /4c/JavaEE-ESAPI_2.0a_install.doc - person antonyh; 09.10.2014

Вы неправильно настроили путь к ресурсам ESAPI в конфигурации esapi. Как только вы это сделаете, вы должны стать золотым.

Попробуйте эту ссылку:

Настройка каталога ресурсов ESAPI

person Andrew van der Stock    schedule 29.06.2012

Хорошо, что вы используете ESAPI. Во-первых, это проект maven или eclipse или ant или какой-то другой? Каждый тип имеет определенное место для размещения файла свойств, чтобы они загружались во время выполнения всякий раз, когда ESAPI вызывается в первый раз. Просмотрите руководство по установке ESAPI, доступное в Google. Но из логов видно, что оба файла успешно загрузились. опубликуйте дальнейшие журналы, которые у вас могут быть в файле. Вероятно, проблема в том, что вы проверяете и пытаетесь получить адрес электронной почты, используя метод getVALidInput() и используя неправильное регулярное выражение. опубликуйте полный код регулярного выражения и журналы исключений из файла и консоли.

person R.K.R    schedule 29.06.2012
comment
Я поместил все файлы свойств в папку ресурсов моего проекта maven. - person R.K.R; 29.06.2012
comment
я использую нетбинс. я скопировал код из здесь, чтобы убедиться, что esapi настроен должным образом. - person Morgan Azhari; 30.06.2012