ASP.NET'de sıkça kullanılan ve web uygulamalarında HTML içeriğiyle ilgili güvenlik ve görüntüleme sorunlarını ele almak için kullanılan üç önemli yöntemdir.
HtmlEncode: Bu yöntem, bir metin dizesindeki HTML özel karakterlerini HTML kodlarına dönüştürmek için kullanılır. Örneğin, <
, >
, &
, "
, '
gibi karakterler HTML belgesi içerisinde özel anlamlara sahiptir. HtmlEncode metodu, bu karakterleri güvenli bir şekilde kodlayarak tarayıcıya aktarılmasını sağlar ve kullanıcıların kötü niyetli kod enjeksiyonu saldırılarından korunmasına yardımcı olur.
HtmlDecode: HtmlEncode'in tam tersi olarak çalışır. Bu yöntem, bir HTML kodunu gerçek metin haline dönüştürmek için kullanılır. Örneğin, bir veritabanından alınan bir metin dizesi HTML kodlarını içeriyor olabilir. Bu kodlar, tarayıcıda doğru şekilde görüntülenmeden önce HtmlDecode metodu ile orijinal metin haline dönüştürülmelidir.
HtmlRaw: Bu yöntem, bir metin dizesinin HTML içeriği olduğunu belirtmek için kullanılır. Eğer bir metin dizesinin içeriğinin zaten güvenli olduğu ve HTML olarak yorumlanması gerektiğinde HtmlRaw kullanılır. Bu yöntem, ASP.NET Core MVC ve Razor sayfalarında sıklıkla kullanılır. HtmlRaw kullanıldığında, ASP.NET belirtilen metni doğrudan HTML olarak render eder, bu nedenle güvenliği sağlamak için dikkatli olunmalıdır ve kullanıcı tarafından sağlanan verilerin doğrudan HtmlRaw kullanılarak işlenmesinden kaçınılmalıdır.
- HtmlEncode Örneği:
string originalText = "<script>alert('Merhaba!');</script>";
string encodedText = System.Web.HttpUtility.HtmlEncode(originalText);
- HtmlDecode Örneği:
string encodedText = "<script>alert('Merhaba!');</script>";
string decodedText = System.Web.HttpUtility.HtmlDecode(encodedText);
- HtmlRaw Örneği (Razor Pages veya Razor View Engine kullanılarak):
@Html.Raw("<h1>Merhaba dünya!</h1>")
Bu örneklerde görüldüğü gibi, HtmlEncode metodu HTML içeriğini güvenli bir şekilde kodlarken, HtmlDecode metodu bu kodlanmış içeriği orijinal haline döndürmek için kullanılır. HtmlRaw ise, ASP.NET Razor sayfalarında veya Razor View Engine kullanılarak HTML içeriğinin doğrudan render edilmesini sağlar.
0 yorum:
Yorum Gönder