На самом деле да.Я исправил эту ошибку в следующем выпуске ESAPI, но для этого потребуется изменение API, возможно, такое, в котором может быть ошибка, основанная на ваших данных.
Короче говоря, до моего исправления ESAPI только что сделал Regexпротив URI.Проблема и множество сообщений об ошибках в том, что URI не являются обычным языком.Они сами являются языком.Итак, что произойдет, это то, что рассматриваемый URI будет иметь параметры, которые содержат только сущности HTML, некоторые случайные варианты данных будут выровнены с известными сущностями HTML, такими как ¶m=foo
, которые будут интерпретироваться как сущность ¶
, которая является абзацем.Были также некоторые проблемы в отношении ASCII против Unicode (не кодирование bmp.).
В любом случае в кандидате на выпуск для нашей следующей библиотеки будет использоваться новый метод, Encoder.getCanonicalizedURI();
Это будет безопасно для регулярного выражения, так как он будет разбит и проверендля смешанного / многократного кодирования.Метод, который вы сейчас используете, устарел