Bazı HTML üretiyorum ve XSS ve veritabanı içeriği güvenli mailto
bağlantısı oluşturmak istiyorum. Burada kullanılacak doğru kodlama nedir? Bu nasıl?Postato bağlantısını nasıl düzgün şekilde kodlarım?
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
'u kullanmalı mıyım? HtmlEncode
? Ne yaptım, sonra HtmlEncode
bütünlüğü? Bir URL'nin HTML'sini yazıyorum, bu yüzden biraz belirsizim ...
@Quentin, tarif ettiğin şey bu mu? Daha sonra HTML bu URL gösteren bu rakam bir URL'ye bazı içerikleri koyuyoruz
myLiteral.Text =
HttpUtility.HtmlEncode(HttpUtility.UrlEncode(
string.Format(
"mailto:{0}?Content-Type=text/html&Subject={1}&body={2}",
email_address, subject, body_message)));
İlk sürümünüz neredeyse doğru, '&' s kodunu unencode etmeniz gerekiyor. Bunu Text özelliğine atarsınız. Dahili kodlama HTML ile ilgilenmelidir. Endişelenmeniz gereken tek şey geçerli bir URI olmasıdır. –
@ liho1eye: Sanırım bu bir ASP Literal için geçerliyse myLiteral.Mode == Encode, varsayılan değil. Ama ikinci versiyonun senin için etkili olması, evet mi? –