1

我在运行我的应用程序时遇到错误

警告:[安全失败匿名:null@unknown -> 127.0.0.1:8080/ExampleApplication/SecurityWrapperResponse] 尝试设置无效标头被拒绝
org.owasp.esapi.errors.ValidationException:setHeader:输入无效。超过了 20 个字符的最大长度。
    在 org.owasp.esapi.reference.validation.StringValidationRule.checkLength(StringValidationRule.java:214)
    在 org.owasp.esapi.reference.validation.StringValidationRule.checkLength(StringValidationRule.java:229)
    在 org.owasp.esapi.reference.validation.StringValidationRule.getValid(StringValidationRule.java:281)
    在 org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:214)
    在 org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:185)
    在 org.owasp.esapi.filters.SecurityWrapperResponse.setHeader(SecurityWrapperResponse.java:447)

我已经尝试通过更改以下属性,但它没有用

Validator.HTTPHeaderName=^[a-zA-Z0-9\-_]{1,32}$ 已将 32 更改为 50 但仍然抛出相同的错误

我的标题是 response.setHeader("Access-Control-Allow-Origin", "*"); 当我评论这一行时它正在工作,你能帮我如何更改 esapi.properties 文件中的标题名称长度吗

4

1 回答 1

1

包在 SecurityWrapperResponse 类中包含硬编码的长度值,因此我通过覆盖该类并更改新长度解决了该问题。这是工作。

于 2014-10-27T11:03:36.247 回答