Mixed Content Nedir?
Mixed Content (Karışık İçerik), bir HTTPS sayfasının HTTP (güvensiz) üzerinden resim, CSS, JavaScript veya diğer kaynakları yüklemeye çalışması durumudur. Bu durumda tarayıcı kilit simgesini kaldırır ve güvenlik uyarısı gösterir.
İki Tür Mixed Content
- Passive Mixed Content: Resimler, videolar, ses dosyaları - Uyarı gösterilir ama engellenmez
- Active Mixed Content: JavaScript, CSS, iframe, XHR - Tarayıcı tarafından engellenir
Tespit Etme
Chrome DevTools'ta (F12) Console sekmesinde mixed content uyarılarını görebilirsiniz.
Çözüm
1. Tüm URL'leri HTTPS Yapın
<!-- Yanlış -->
<img src="http://ornek.com/resim.jpg">
<!-- Doğru -->
<img src="https://ornek.com/resim.jpg">
<!-- En İyi: Protokol-bağımsız -->
<img src="//ornek.com/resim.jpg">
2. Content-Security-Policy Başlığı
Content-Security-Policy: upgrade-insecure-requests;
Bu başlık, tarayıcıya tüm HTTP isteklerini otomatik olarak HTTPS'e yükseltmesini söyler.
3. Veritabanındaki URL'leri Güncelleyin
WordPress gibi CMS kullanıyorsanız, veritabanındaki http:// URL'leri https:// ile değiştirin.