Используйте Enterprise Security API Java для кодирования арабского текста - PullRequest
0 голосов
/ 03 сентября 2018

Я использую ESAPI, чтобы избежать XSS, поэтому мне нужно проверить все входы и закодировать все выходы.

Я использую ESAPI в Java, используя эту зависимость:

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

И я использую следующий код для проверки и кодирования вывода:

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 вернуть то, что я ожидаю?

Заранее спасибо за помощь :)

...