2016-03-24 10 views
0

私はこのコード行を持っている:ESAPI警告:[SECURITYのFAILURE匿名:不明@ヌル - >/ExampleApplicationが/ IntrusionDetector]

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

私がテストを実行したときに、私は、それのためにテストを書かれていますテストは失敗します。私は次の兵士を手に入れます:

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 

警告は何を意味し、どのように取り除くことができますか?

答えて

0

短い答え:有効な入力を渡すことで警告を取り除きます。

あなたが「maxLengthの」パラメータ(4番目のパラメータが)ですから、「入力」パラメータ(あなたの第二パラメータ場合にのみtrueを返す必要があり、この方法を言っている8に設定されているValidator.isValidInput(String context, String input, String type, int maxLength, boolean allowNull)

を呼んでいますこの方法では)長さは< = maxLengthです。

ログ出力は、「userid1234567」に設定された値「userID」を渡していることを示します。長さは13文字です。したがって、ログメッセージは、あなたの入力が8×5文字の最大許容長を超えていることを正しく伝えています。言い換えれば、それはまさしくそれが行うために設計されたことをしています。

+0

申し訳ありません、私はより具体的に私の質問を書いたはずです。私は戦争を一方的にしなければならないことを理解しています。それは問題ではありません。私は 'SECURITY FAILURE Anonymous:null @ unknown - >/ExampleApplication/IntrusionDetector'という部分について話していました。この警告の後に、私は例外もあります: 'org.owasp.esapi.errors.ValidationException:issuer id:Invalid input。最大11文字の長さを超えました.'私は例外が表示されるように構成を変更できますか? – mnish

+0

まず最初に示したものが8文字の最大長を持っていたので、最初に説明したように_different_テストからのものでなければなりません。しかし、要点。私がInstrusionDetectorログエントリを取り除くことを知っている唯一の方法は、それを無効にすることです。先頭の '#'を使用して "ESAPI.IntrusionDetector = org.owasp.esapi.reference.DefaultIntrusionDetector"という行をコメントアウトすると、それが実行されます。 –

+0

もちろん、OTOHはIntrusionDetectorを完全に無効にします。 DefaultIntrusionDetectorをAppSensorに置き換えることができます(https://www.owasp.org/index.php/AppSensor_GettingStartedを参照)。 AppSensorを使用すると、何を警告するか、しきい値の制限などをより詳細に設定できます。詳しくは、https://www.owasp.org/index.php/AppSensor_Developer_Guideを参照してください。 –

関連する問題