Простой ответ: нельзя.Или, по крайней мере, не легко.Это можно сделать, изменив строку в ESAPI.properties с:
ESAPI.Encoder=org.owasp.esapi.reference.DefaultEncoder
на что-то вроде
ESAPI.Encoder=com.MyCompany.myApp.MyEncoder
, а затем в MyEncoder.java, заменив одну или несколько инициализаций ESAPI * его различными IMMUNE_*
переменными своими собственными.Но это единственный способ сделать это.Нет никакого метода или свойства, чтобы переопределить это, потому что в общем случае вы никогда не должны делать это.(Было принято [плохое, IMO] решение сделать все эталонные реализации ESAPI одноэлементными, поэтому, предоставив такой метод классу DefaultEncoder, я бы сказал, что вы измените его для всех экземпляров класса, и это кажется слишком опасным.)
Поэтому вместо того, чтобы отвечать на ваш вопрос, как я, я должен спросить вас почему вы хотите это сделать?В кодек IMMUNE_CSS недавно был добавлен символ # (в настоящее время только в ветке «Разработка» на GitHub), но даже это не было сделано без широкого обсуждения среди нынешних и бывших руководителей проектов OWASP.Иммунные списки разумно выбирают, чтобы быть «безопасными» во всех известных случаях.Тогда не предназначены для применения только в некоторых крайних случаях, которые, как известно, безопасны.Вот почему я спрашиваю: " Почему Вы хотите это сделать? Что конкретно вы пытаетесь достичь?"поскольку может быть лучший подход к тому, что вы пытаетесь сделать.