私はいくつかのHTMLを生成しており、XSSおよびデータベースコンテンツの安全なmailto
リンクを生成したいと考えています。ここで使用する適切なエンコーディングは何ですか?これはどうですか?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
全体?私はURLのHTMLを書いていますので、少し不明です...
@クエンティン、これはあなたの説明ですか? (私はHtmlEncode
に約てるので、... &
に&
の変更)
myLiteral.Text =
HttpUtility.HtmlEncode(HttpUtility.UrlEncode(
string.Format(
"mailto:{0}?Content-Type=text/html&Subject={1}&body={2}",
email_address, subject, body_message)));
「&」のエンコードを解除する以外は、最初のバージョンはほぼ正しいです。これをTextプロパティに割り当てます。内部的にHTMLエンコーディングを処理する必要があります。あなたが心配する必要があるのは、それが有効なURIであることだけです。 –
@ liho1eye:myLiteral.Mode == Encodeの場合、ASPリテラルの場合にのみ当てはまります。これはデフォルトではありません。しかし、2番目のバージョンでは、あなたが行っていた効果があるはずです、はい? –