Я работаю с ESAPI, чтобы попытаться проверить пути к каталогам Windows.По какой-то причине часть моего пути к каталогу с именем \ 14 \ преобразуется в CRLF.Я получаю сообщение об ошибке ниже, что я не правильно понимаю?Я чувствую, что мое регулярное выражение должно работать.
WARN IntrusionDetector [SECURITY FAILURE Anonymous:null@unknown -> /project-test/IntrusionDetector] Invalid input: context=directoryPath, type(DirectoryName)=^[a-zA-Z0-9:/\\!@#$%^&{}\[\]()_+\-=,.~'` ]{1,255}$, input=C:\UsersTESTUS~1AppDataLocalTempTestCase8002TempWorkSpace, orig=C:\Users\TESTUS~1\AppData\Local\Temp\14\TestCase8002TempWorkSpace
Как видите, я использую регулярное выражение: ^ [a-zA-Z0-9: / \! @ # $% ^& {} [] () _ + - = ,. ~ '`] $
Мой ввод: C: \ Users \ TESTUS ~ 1 \ AppData \ Local \ Temp \ 14\ TestCase8002TempWorkSpace
Ouput, после того как ESAPI выполнит канонизацию и проверку: C: \ UsersTESTUS ~ 1AppDataLocalTempTestCase8002TempWorkSpace
Вот строка кода, которая заставляет меня получитьошибка;
String validatedSourcePath = ESAPI.validator().getValidInput("directoryUnzip", directory, "DirectoryName", 255, false);
File validFile = new File(validatedSourcePath);