Mixed Content Hatası Neden Oluşur ve Nasıl Giderilir?
· Sorun Giderme
Mixed Content (Karma İçerik) hatası, HTTPS protokolü üzerinden sunulan bir web sayfasının aynı zamanda HTTP üzerinden kaynak (resim, video, script, CSS, iframe vb.) yüklemeye çalışması durumunda oluşur. Tarayıcılar bu durumu güvenlik açığı olarak değerlendirir.
İki Türü Var: Aktif ve Pasif
Pasif Mixed Content (Mixed Passive): Resim, video ve ses dosyaları gibi pasif kaynakların HTTP üzerinden yüklenmesidir. Tarayıcılar bu kaynakları uyarıyla yükleyebilir ya da tamamen engelleyebilir. Adres çubuğundaki kilit simgesi "uyarılı" biçimde görünür.
Aktif Mixed Content (Mixed Active): Script (.js), CSS, iframe ve XMLHttpRequest gibi aktif kaynakların HTTP üzerinden yüklenmesidir. Tarayıcılar bu içerikleri tamamen engeller çünkü bunlar sayfa davranışını kontrol eder ve bir saldırgan HTTP trafiğini manipüle ederek sayfayı ele geçirebilir.
Neden Oluşur?
- Eski veritabanı kayıtlarındaki http:// ile başlayan URL'ler (WordPress içerikleri, medya kütüphanesi)
- Harici kaynaklardan (CDN, üçüncü taraf widget) gelen HTTP bağlantıları
- Hardcoded http:// linkleri içeren tema veya eklentiler
- Eski e-posta şablonları veya iframe içerikleri
Tespit Nasıl Yapılır?
- Chrome DevTools → Console sekmesi: "Mixed Content" uyarıları listelenir.
- Chrome DevTools → Security sekmesi: Genel güvenlik durumu değerlendirilir.
- "Why No Padlock" (whynopadlock.com): URL girerek otomatik tarama yapılır.
- SSL Check araçları ve site tarayıcıları da Mixed Content raporlayabilir.
Çözüm Yöntemleri
1. Tüm URL'leri HTTPS'e güncelleyin: Veritabanında http:// → https:// toplu değiştirme yapın. WordPress için "Better Search Replace" eklentisi kullanılabilir.
2. Protokol-göreli URL kullanın: http:// veya https:// yerine // ile başlayan URL'ler, mevcut protokolü otomatik kullanır (örn. //cdn.example.com/style.css).
3. Content Security Policy (CSP): upgrade-insecure-requests direktifi, HTTP kaynaklarını otomatik olarak HTTPS'e yükseltir:
Content-Security-Policy: upgrade-insecure-requests
4. HSTS ile birlikte kullanın: HSTS aktifken tarayıcı HTTP isteklerini sunucuya ulaşmadan HTTPS'e çevirir; bu da Mixed Content oluşumunu büyük ölçüde önler.
İhtiyacınıza uygun sertifikayı seçmek için PekiSSL ürün sayfasını ziyaret edin.