2016-03-24 11 views
0

Ich habe diese Zeile Code:ESAPI WARNUNG: [SICHERHEITSFEHLER Anonym: null @ unbekannt ->/ExampleApplication/IntrusionDetector]

ESAPI.validator().isValidInput("user id", userID, "USERID", 8, false); 

ich einen Test für sie geschrieben haben, wenn ich den Test ausführen und die Test fehlschlägt ich folgenden warining erhalten:

WARNING: [SECURITY FAILURE Anonymous:[email protected] -> /ExampleApplication/IntrusionDetector] Input exceeds maximum allowed length of 8 by 5 characters: context=user id, type=USERID, orig=userid1234567, input=userid1234567 

Was bedeutet die Warnung bedeuten und wie kann ich es loswerden?

Antwort

0

Kurze Antwort: Sie werden die Warnung los, indem Sie eine gültige Eingabe übergeben.

Sie rufen Validator.isValidInput(String context, String input, String type, int maxLength, boolean allowNull)

Sie haben die ‚maxLength‘ Parameter (der 4. Parameter) auf 8. So werden Sie diese Methode zu sagen, dass es nur wahr zurückgeben sollte, wenn der ‚Input‘ Parameter (Ihre zweite Parameter in dieser Methode) hat eine Länge von < = maxLength.

Ihre geloggte Ausgabe zeigt, dass Sie einen Wert von "userID" übergeben, der auf "userid1234567" festgelegt ist, der eine Länge von 13 Zeichen hat. Die Log-Nachricht sagt Ihnen also korrekt, dass Ihre Eingabe die maximal zulässige Länge von 8 mal 5 Zeichen überschreitet. Mit anderen Worten, es macht genau das, wofür es entwickelt wurde.

+0

Entschuldigung, ich hätte meine Frage genauer schreiben sollen. Ich verstehe, dass ich in die eine oder andere Richtung Krieg führen sollte, das ist nicht das Problem. Ich habe über den Teil 'SECURITY FAILURE Anonymous: null @ unknown ->/ExampleApplication/IntrusionDetector' gesprochen. Außerdem bekomme ich nach dieser Warnung eine Ausnahme: 'org.owasp.esapi.errors.ValidationException: issuer id: Ungültige Eingabe. Die maximale Länge von 11 Zeichen wurde überschritten. "Kann die Konfiguration geändert werden, sodass ich nur die Ausnahme sehe? – mnish

+0

Nun, vor allem, wenn es "maximale Länge von 11 Zeichen" sagte, muss das von einem _different_ Test gewesen sein, da der, den Sie ursprünglich illustrierten, eine maximale Länge von 8 Zeichen hatte. Aber Punkt genommen. Die einzige Möglichkeit, die Protokolleinträge von InstrusionDetector loszuwerden, besteht darin, sie zu deaktivieren. Das Auskommentieren der Zeile "ESAPI.IntrusionDetector = org.owasp.esapi.reference.DefaultIntrusionDetector" mit einem führenden '#' sollte das tun. –

+0

Natürlich, OTOH, das wird den Intrusion Detector vollständig deaktivieren, nicht nur aufhören, wenn für diese eine Kategorie. Sie können den DefaultIntrusionDetector durch AppSensor ersetzen (siehe https://www.owasp.org/index.php/AppSensor_GettingStarted). AppSensor ermöglicht eine viel detailliertere Konfiguration, über die Sie sich informieren können, sowie Grenzwerte, usw. Weitere Informationen finden Sie unter https://www.owasp.org/index.php/AppSensor_Developer_Guide. –