Esapi 警告:[安全失败 Anonymous:null@unknown -> /ExampleApplication/IntrusionDetector]

Esapi WARNING: [SECURITY FAILURE Anonymous:null@unknown -> /ExampleApplication/IntrusionDetector]

我有这行代码:

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

我已经为它写了一个测试,当我 运行 测试失败时,我得到以下警告:

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

警告是什么意思,我该如何摆脱它?

简短回答:您可以通过传递有效输入来消除警告。

您正在呼叫 Validator.isValidInput(String context, String input, String type, int maxLength, boolean allowNull)

您将 'maxLength' 参数(第 4 个参数)设置为 8。所以您告诉此方法只有 return 为真,如果 'input' 参数(您的第 2 个此方法中的参数)的长度 <= maxLength.

您记录的输出显示您正在向其传递一个值 'userID',该值设置为 "userid1234567",长度为 13 个字符。因此,日志消息正确地告诉您您的输入超过了 8 x 5 个字符的最大允许长度。换句话说,它完全按照设计的目的行事。