XML Safe URLEncoding? - PullRequest
       2

XML Safe URLEncoding?

0 голосов
/ 24 февраля 2010

Как мне закодировать URL, который будет "безопасным для xml", когда амперсанд (&) в строке запроса не повредит XML?

Для экземпляра:

www.somedomain.com / SomePage.aspx? SomeParam = SomeValue & SomeParam2 = SomeVal

Ответы [ 2 ]

4 голосов
/ 25 февраля 2010

Краткий ответ - закодировать URL так же, как любой другой текст в документе. Вы не ошибетесь, если замените символы следующим образом:

& -> &
' -> '
" -> "
< -> &lt;
> -> &gt;

(и любой, кто читает документ с помощью соответствующего анализатора, получит правильный, т. Е. Не закодированный, текст обратно).

Тем не менее, я бы повторил комментарий Энтони: почему вы думаете, что вам нужно беспокоиться об этом? Любая разумная система записи XML должна брать текст, который вы хотите представить, и выполнять кодирование самостоятельно (точно так же, как парсер отменит кодировку). Ваше приложение должно иметь дело только с не закодированным текстом, и оно должно полагаться на библиотеку записи XML, чтобы иметь дело с кодировкой символов и сохранением правильной формы. В противном случае вы рискуете назвать бозо . Похоже, XmlTextWriter - это .net API, который вносит все необходимые изменения.

0 голосов
/ 24 февраля 2010

В библиотеке AntiXSS есть метод XmlEncode, который вы можете использовать.

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