Как работать со специальными символами внутри строковых атрибутов XML? - PullRequest
0 голосов
/ 08 ноября 2018

Итак, у меня есть некоторые данные из веб-формы, которая отправляется в виде XML и проходит через XSS-фильтр, который канонизирует / дешифрует весь текст перед его попаданием на сервер. Итак, на стороне клиента мы отправляем:

<term><var>x</var><while exp="x&lt;3"><dostuff></dostuff></while></term>

Что превращается в

<term><var>x</var><while exp="x<3"><dostuff></dostuff></while></term>

Затем, когда я анализирую xml, он, конечно, ломается.

Должен ли я перебирать все атрибуты и перекодировать их, или есть простой способ сделать это в groovy / grails?

1 Ответ

0 голосов
/ 08 ноября 2018

Независимо от того, через какой фильтр вы его проводите, он повреждает ваши данные, поэтому исправьте или быстро удалите его, прежде чем он нанесет непоправимый вред.

В общем случае восстановление ваших данных невозможно. Если фильтр помещает неэкранированные угловые скобки в ваш поток данных, вы можете обнаружить некоторые случаи, но в худшем случае они будут неотличимы от подлинной разметки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...