1

アプリケーションを実行しているときに以下のエラーが発生します

警告: [SECURITY FAILURE Anonymous: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 に答える