【发布时间】:2023-08-09 07:58:01
【问题描述】:
我正在尝试在我现有的项目中使用 ESAPI。
我在尝试对 SafeString 类型使用 ESAPI.validator().getValidInput() 方法时遇到错误。
以下是自动定义的正则表达式,包含在validation.properties 文件中:
Validator.SafeString=^[.\\p{Alnum}\\p{Space}]{0,1024}$
我假设最大长度是 1024。
这是我的代码:
ESAPI.validator().getValidInput("Validationofinput",_appendToSelect,"SafeString",1024, true)
但是,我收到以下错误:
WARN IntrusionDetector - [安全故障匿名:null@unknown -> /ExampleApplication/IntrusionDetector] 输入无效: 上下文=输入验证, type(SafeString)=^[.\p{Alnum}\p{Space}]{0,1024}$, input=and ProductCategory like '%test_%' org.owasp.esapi.errors.ValidationException:Validationofinput:无效 输入。请使用正则表达式 ^[.\p{Alnum}\p{Space}]{0,1024}$ 最大长度为 1024 在 org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144) 在 org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:160) 在 org.owasp.esapi.reference.validation.StringValidationRule.getValid(StringValidationRule.java:284) 在 org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:214) 在 org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:185)
谁能告诉我我做错了什么?
【问题讨论】:
-
我们可以,但不能没有输入。
-
@avgvstvs,你是什么意思?我在那里输入了 input=and ProductCategory like '%test_%'
标签: java validation input owasp esapi