Я создаю некоторый HTML и хочу создать XSS- и безопасную для базы данных ссылку mailto
. Какую правильную кодировку здесь использовать? Как это?
myLiteral.Text = string.Format(
"mailto:{0}?Content-Type=text/html&Subject={1}&body={2}",
HttpUtility.UrlEncode(email_address),
HttpUtility.UrlEncode(subject),
HttpUtility.UrlEncode(body_message));
Должен ли я использовать UrlEncode
здесь? HtmlEncode
? Делать то же, что и я, а затем HtmlEncode
целиком? Я пишу HTML URL-адреса, поэтому немного не понимаю...
@ Квентин, это то, что ты описываешь? (Изменил &
s на &
, так как я собираюсь HtmlEncode
...)
myLiteral.Text =
HttpUtility.HtmlEncode(HttpUtility.UrlEncode(
string.Format(
"mailto:{0}?Content-Type=text/html&Subject={1}&body={2}",
email_address, subject, body_message)));
&
s. Вы назначаете его свойству Text. Он должен позаботиться о внутренней кодировке HTML. Единственное, о чем вам нужно беспокоиться, это допустимый URI. - person Ilia G   schedule 27.09.2011