Web sitesi temelleri
Sertifika var ama hâlâ “güvenli değil” yazıyor: karışık içerik nedir?
6 dakika okuma
Sertifikayı kurdunuz, adres `https://` ile başlıyor, ama tarayıcıda kilit simgesi hâlâ görünmüyor ya da üstü çizili duruyor. Bu, sertifikanın bozuk olduğu anlamına gelmez. Sayfanın içinde şifresiz yüklenen bir parça kalmıştır. Buna karışık içerik denir.
Bir sayfa HTTPS üzerinden açıldığında, içindeki her parçanın da HTTPS üzerinden gelmesi beklenir. Görsel, yazı tipi, stil dosyası, video, harita, takip kodu. Bunlardan biri `http://` ile çağrılıyorsa tarayıcı sayfanın tamamını güvenli saymaz.
Mantığı şu: zincirin bir halkası açıksa zincir açıktır. Sayfanın kendisi şifreli gelse bile, araya giren biri şifresiz gelen o parçayı değiştirebilir.
İki tür karışık içerik var
| Tür | Örnek | Tarayıcının tepkisi |
|---|---|---|
| Pasif | Görsel, video, ses dosyası | Yükler ama kilit simgesini kaldırır |
| Aktif | Stil dosyası, betik, iframe, yazı tipi | Çoğunlukla hiç yüklemez, sayfa bozuk görünür |
Sitenizin tasarımı bozulduysa, bir bölüm boş kaldıysa veya form çalışmıyorsa büyük ihtimalle aktif karışık içerik engellenmiştir. Sadece kilit kaybolmuşsa pasif türdendir.
Sorunlu dosyayı bulmak
Teşhis için tarayıcının kendi aracı yeterli, ek bir yazılıma gerek yok.
- 1Sayfayı Chrome'da açın.
- 2Sağ tıklayıp “İncele” deyin, açılan panelde “Console” sekmesine geçin.
- 3Sayfayı yenileyin.
- 4“Mixed Content” ile başlayan satırları okuyun. Her satır, hangi dosyanın şifresiz geldiğini adresiyle birlikte söyler.
En sık karşılaşılan kaynaklar
- Eski içeriğe gömülü görseller. Site yıllar önce HTTP'yken yazılmış yazılarda görsel adresleri hâlâ `http://` ile kayıtlıdır.
- Dışarıdan çağrılan yazı tipi ve simge setleri. Eski bir eklemede adres güncellenmemiştir.
- Gömülü harita ve video. Kopyalanan gömme kodu eskiyse şifresiz gelir.
- Takip ve reklam kodları. Yıllar önce eklenmiş, kimsenin dokunmadığı betikler.
- Kendi sunucunuzdaki dosyalar. Tema veya eklenti, dosyaları site adresini HTTP olarak varsayarak çağırıyordur.
Kalıcı çözüm
Geçici çözümler bu işte işe yaramıyor. Kalıcı çözüm üç adımdan oluşuyor.
- 1Adresleri düzeltin. İçerikte ve şablonda geçen `http://` ile başlayan kendi adreslerinizi `https://` yapın. Çok sayıda eski yazı varsa veritabanında toplu değişiklik gerekir, bunu yedek alarak yapın.
- 2HTTP'yi HTTPS'e kalıcı olarak yönlendirin. Yönlendirme kalıcı olmalı, geçici değil. Geçici yönlendirme arama motorlarına yanlış sinyal verir.
- 3Dışarıdan gelen kaynakları gözden geçirin. HTTPS desteklemeyen bir servis varsa o servisten vazgeçilmesi gerekir, bugün desteklememesi için geçerli bir sebep yok.
Düzelttikten sonra kontrol listesi
- 1Ana sayfa, hizmet sayfası, bir blog yazısı ve iletişim sayfasında kilit simgesi var mı?
- 2Konsolda “Mixed Content” satırı kaldı mı?
- 3`http://` ile açıldığında site otomatik olarak `https://` adresine gidiyor mu?
- 4Mobilde de aynı sonuç alınıyor mu?
- 5Sertifikanın süresi ve kapsamı doğru mu? Bu tarafta bir sorun varsa belirtisi tam sayfa sertifika uyarısıdır.
Bu dört maddeyi geçen bir sitede kilit simgesi kalıcı olarak görünür. Ziyaretçi bunu fark etmez, ama olmadığında fark eder. SSL'in ne olduğunu ve “güvenli değil” uyarısının sebeplerini ayrı bir yazıda anlattık.