2012-06-27 90 views
0

我想在我的項目中使用OWASP ESAPI。但問題是owasp文檔太複雜了。我試圖從esapi使用驗證,但即使沒有錯誤,我也無法得到結果。使用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的結果?

回答

0

對於驗證我直接使用這個代碼,所以我需要驗證用戶輸入。

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及其屬性文件的配置,請查看this url

+0

該文件的更好的鏈接:https://www.owasp.org/images/4/4c/JavaEE-ESAPI_2.0a_install.doc – antonyh

0

好你正在使用ESAPI。首先,該項目是一個maven或eclipse或螞蟻或其他?每種類型都有一個特定位置,用於放置屬性文件,以便在首次調用ESAPI時在運行時加載它們。通過谷歌中可用的ESAPI安裝指南。但是從日誌中可以清楚地看到,這兩個文件都已成功加載。發佈您可能在文件中的更多日誌。可能的問題是,您正在驗證並嘗試使用方法getVAlidInput()獲取電子郵件地址並使用錯誤的正則表達式。從文件和控制檯發佈完整的正則表達式代碼和異常日誌。

+0

我已將所有屬性文件放在我的maven項目的資源文件夾中 –

+0

我正在使用netbeans。我從[這裏]複製代碼(http://code.google.com/p/owasp-esapi-java/wiki/esapi4java_v2_Hello_World),以確保esapi配置正確。 –