Этот вопрос является пограничным, НЕ хорошим вопросом для SO, но в то же время, он определенно подойдет практически всем. Поэтому я отмечу это как вики сообщества, и его можно будет перенести в лучший дом позже.
Итак, основной вопрос таков:
Так что мой вопрос, после удаления ESAPI я нашел несколько строк
код, который используется так:
ESAPI.encoder().encodeForJavaScript(ControllerHelper.getJavascriptStuff());
Что я должен использовать в качестве замены? а почему?
IF ALL вам нужен кодер, используйте облегченный OWASP Encoder Project.
Однако этот проект также не даст вам декодер.
почему часть. Часть, которая заслуживает вики.
Во всех разработках приложений ответственность за обеспечение того, чтобы данные всегда обрабатывались только как данные, является обязанностью программиста. В представленном здесь случае разработчик использовал кодировщик, чтобы гарантировать, что данные, передаваемые клиенту, всегда будут интерпретироваться как данные интерпретатором JavaScript.
Невыполнение этого требования может привести к тому, что пользователь отправит, например, код javascript в качестве ввода, а затем ваше приложение развернется и передаст его другому пользователю. В худшем случае его можно использовать для удаления файла вредоносного ПО внутри периметра корпоративной сети.
Но здесь может быть больше о чем беспокоиться. Будет ли полезная нагрузка javascript отображаться в HTML? Если это так, то, возможно, сначала это должно быть в HTML-кодировке. Предотвращение XSS - это широкая тема, вы можете начать здесь.