使用Enterprise Security API Java编码阿拉伯文本

时间:2018-09-03 16:52:53

标签: java encoding arabic esapi

我正在使用ESAPI来避免XSS,因此我需要验证所有输入并对所有输出进行编码。

我通过这种依赖关系在Java中使用ESAPI:

<dependency>
    <groupId>org.owasp.esapi</groupId>
    <artifactId>esapi</artifactId>
    <version>2.1.0.1</version>
</dependency>

Im使用以下代码来验证和编码输出:

1-验证输入:

 if(!ESAPI.validator().isValidInput("Form Data",input ,"SafeString", 300, true)) {
           throw new ValidationException("this data has XSS code", "this data has XSS code");
           }

它可以很好地检测任何恶意代码,请让我知道是否有比这更好的东西。

2-编码输出:

ESAPI.encoder().encodeForHTMLAttribute("<script>التا");

此编码的预期输出应为:

&lt;script&gt;التا

但实际上是:

&lt;script&gt;&#x627;&#x644;&#x62a;&#x627; 

那么如何使ESAPI返回我所期望的?

提前感谢您的帮助:)

0 个答案:

没有答案