Bir sayfanın ilk HTML'si güvenli bir HTTPS bağlantısı üzerinden yüklendiğinde ancak diğer kaynaklar (resimler, videolar, stil sayfaları ve komut dosyaları gibi) güvenli olmayan bir HTTP bağlantısı üzerinden yüklendiğinde karma içerik söz konusu olur. Ad, tek bir sayfada HTTP ve HTTPS içeriğinin karışımını belirtir.
Güvenli olmayan HTTP protokolünü kullanarak alt kaynaklar talep etmek, sayfanın güvenliğini zayıflatır. Çünkü bu istekler, bir saldırganın ağ bağlantısını gizlice dinlediği ve iki taraf arasındaki iletişimi görüntülediği veya değiştirdiği yol saldırılarına karşı savunmasızdır. Saldırganlar bu kaynakları kullanarak kullanıcıları takip edebilir ve bir web sitesindeki içeriği değiştirebilir. Etkin karma içerik söz konusu olduğunda ise yalnızca güvenli olmayan kaynakların değil sayfa üzerinde de tam kontrol sahibi olabilirler.
Birçok tarayıcı kullanıcıya karma içerik uyarıları bildirse de, rapor genellikle çok geç bildiriliyor: Güvenli olmayan istekler zaten gerçekleştirildi ve sayfanın güvenliği ihlal edildi.
Çoğu tarayıcı güvenlik nedeniyle artık karma içeriği engellemektedir. Sayfanızın doğru şekilde yüklenmeye devam etmesini sağlamak için güvenli olmayan içerik isteklerini güvenli içerikle değiştirin.
İki karma içerik türü
İki tür karma içerik vardır: aktif ve pasif.
Resimler, videolar ve sesler de dahil olmak üzere pasif karma içerik, sayfanın geri kalanıyla etkileşime girmez. Bu nedenle, ortadaki adam saldırısı, söz konusu içeriğe müdahale ettiği veya içeriği değiştirdiği durumlarda yapabileceği işlemler kısıtlanmıştır.
Etkin karma içerik, sayfayla bir bütün olarak etkileşim kurar. Buna komut dosyaları, stil sayfaları, iframe'ler ve tarayıcının indirip çalıştırabileceği diğer tüm kodlar dahildir. Etkin karma içeriğe yapılan saldırılar, bir saldırganın sayfada hemen hemen her şeyi yapmasına olanak tanır.
Pasif karma içerik
Pasif karma içerik, etkin karma içeriğe göre daha az risk taşır ancak bu risk hâlâ vardır. Örneğin, bir saldırgan şunları yapabilir:
- Sitenizdeki resimlere yönelik HTTP isteklerine müdahale edin ve bu resimleri değiştirin veya değiştirin.
- Düğmelerdeki resimleri, kullanıcıların kafalarını karıştıracak şekilde değiştirin ve örneğin, kaydetmek istedikleri içeriği silin.
- Resimlerinizi pornografik içerikle değiştirerek sitenizi tahrif edin.
- Ürün resimlerinizi başka bir şeyin reklamlarıyla değiştirin.
Saldırgan, sitenizin içeriğini değiştirmese bile karma içerik istekleriyle kullanıcıları izleyebilir. Ayrıca, tarayıcının yüklediği resimlere veya diğer kaynaklara dayanarak bir kullanıcının hangi sayfaları ziyaret ettiğini ve hangi ürünleri görüntülediğini de söyleyebilir.
Pasif karma içerik mevcutsa çoğu tarayıcı, sayfanın kendisi HTTPS üzerinden yüklense bile adres çubuğunda sayfanın güvenli olmadığını belirtir. Söz konusu davranışı bu demoda görebilirsiniz.
Yakın zamana kadar, pasif karma içerik engellemek birçok web sitesini bozacağı için tüm tarayıcılara yükleniyordu. Bu durum artık değişmeye başlıyor. Bu nedenle, sitenizdeki karma içerik örneklerini güncellemek büyük önem taşır.
Bazı durumlarda, Chrome pasif karma içeriği otomatik olarak yükseltir. Bu, bir öğe HTTP olarak kodlandığı halde HTTPS üzerinden kullanılabiliyorsa tarayıcının HTTPS sürümünü yüklediği anlamına gelir. Güvenli bir sürüm yoksa öğe yüklenmez.
Chrome karma içerik algıladığında veya pasif karma içeriği otomatik olarak yükselttiğinde, sorununuzu gidermenize yardımcı olmak için ayrıntılı mesajları Geliştirici Araçları'ndaki Sorunlar sekmesine kaydeder.
![Chrome Geliştirici Araçları'ndaki Sorunlar sekmesi, belirli karma içerik sorunu ve nasıl düzeltileceği hakkında ayrıntılı bilgiler gösterir.](https://web.dev/static/articles/what-is-mixed-content/image/issues-tab-chrome.jpg?authuser=5&hl=tr)
Etkin karma içerik
Etkin karma içerik, pasif karma içerikten daha büyük bir tehdittir. Bir saldırgan, etkin içeriğe müdahale edip yeniden yazabilir ve bunu kullanarak sayfanızın, hatta web sitenizin tamamının kontrolünü ele geçirebilir. Bu, farklı içerik görüntülemek, kullanıcı şifrelerini veya diğer giriş kimlik bilgilerini çalmak, kullanıcı oturumu çerezlerini çalmak veya kullanıcıyı tamamen farklı bir siteye yönlendirmek de dahil olmak üzere sayfanın her yönünü değiştirmelerine olanak tanır.
Etkin karma içeriğin riskleri çok yüksek olduğundan çoğu tarayıcı, kullanıcıları korumak amacıyla bu tür içerikleri zaten varsayılan olarak engellemiştir. Ancak tarayıcı tedarikçi firmaları ve sürümleri arasında davranış değişiklik gösterir.
Bu demoda, etkin karma içerik örnekleri gösterilmektedir. Örneği HTTPS üzerinden yüklediğinizde engellenen içeriği görmek için örneği HTTP üzerinden yükleyin. Engellenen içerikler, Geliştirici Araçları'ndaki Sorunlar sekmesinde de ayrıntılı olarak açıklanmaktadır.
![Chrome Geliştirici Araçları'ndaki Sorunlar sekmesi, belirli karma içerik sorunu ve nasıl düzeltileceği hakkında ayrıntılı bilgiler gösterir.](https://web.dev/static/articles/what-is-mixed-content/image/the-issues-tab-chrome-de-0eea9d1e99f11.jpg?authuser=5&hl=tr)
Karma içerik spesifikasyonu
Tarayıcılar, isteğe bağlı olarak engellenebilir içerik ve engellenebilir içerik kategorilerini tanımlayan karma içerik spesifikasyonuna uyar.
Bir kaynak, "karma içerik olarak kullanılmasına izin verme riski, web'in önemli bölümlerini kırma riskinden ağır bastığında" isteğe bağlı olarak engellenebilir içerik olarak nitelendirilir. Bu, pasif karma içeriğin bir alt kümesidir.
İsteğe bağlı olarak engellenebilir olmayan tüm karma içerikler, engellenebilir olarak kabul edilir ve tarayıcı tarafından engellenmelidir.
Son yıllarda HTTPS kullanımı önemli ölçüde yükseldi ve web'de açıkça görülen varsayılan hale geldi. Bu, karma içerik spesifikasyonunda isteğe bağlı olarak engellenebilir olarak tanımlanan alt kaynak türleri de dahil olmak üzere, tarayıcıların tüm karma içeriği engellemeyi değerlendirmesini artık daha uygun hale getirmektedir.
Eski tarayıcılar
Bazı ziyaretçiler eski tarayıcılar kullanıyor olabilir. Farklı satıcıların farklı tarayıcı sürümleri, karma içeriği farklı şekilde ele alır. En kötüsü, eski tarayıcılar ve sürümler, kullanıcı için güvenli olmayan karma içerikleri hiç engellemez.
Tüm kaynaklarınızı güvenli bir şekilde yükleyerek ve karma içerikle ilgili sorunlarınızı düzelterek içeriğinizin görünür olmasını sağlar ve kullanıcıları eski tarayıcıların engelleyemeyeceği tehlikeli içeriklerden korursunuz.