Görüntüler nedeniyle HTTPS bağlantısı “güvenli değil”


14

Şu anda bir web sitesinde çalışıyorum ve SSL sertifikamı başarıyla yükledim.

GeoTrust SSL / TLS denetleyicisi, sertifika zincirinin (CA dahil) düzgün bir şekilde yüklendiğini doğruladı. Chrome'da her şey iyi görünüyor, ancak asma kilitlerim yeşil değil ve Firefox'ta, üzerinde şifresiz öğeler olduğu için web sitesinin güvenli olmadığını belirtiyor.

Neden olduğunu kontrol etmek için çevrimiçi bir hizmet kullandım ve görüntülerimin gerçekten güvenli URL'ler olarak görülmediği ortaya çıktı. Bu durumla nasıl başa çıkabilirim, yani web siteme görüntüleri nasıl güvenli bir şekilde yerleştirebilirim?

Yanıtlar:


32

Resim etiketleriniz şu anda aşağıdaki gibi olmalıdır:

<img src="http://example.com/images/image.jpg">

Bu http, görüntünün güvenli bir şekilde sunulmadığı anlamına gelir. Saldırgan, geçişteki görüntüyü değiştirebilir ve böylece güvenli sayfanızın kullanıcılarınıza nasıl görüneceğini değiştirebilir.

Bunun yerine görüntüleri güvenli bir şekilde sunmak için aşağıdakilerden herhangi birini kullanabilirsiniz:

  • httpsAçıkça bağlantı ver:<img src="https://example.com/images/image.jpg">
  • Kendi alan adınızdaki resimlere göreli bağlantı kullanma: <img src="/images/image.jpg">
  • Diğer alan adlarındaki resimleri kullanmak için protokole bağlı bağlantı kullanın: <img src="//example.com/images/image.jpg">

Açık https, görüntüyü her zaman güvenli bir şekilde sunacaktır (sayfa güvenli bir şekilde sunulmadığında bile), göreli bağlantı ise görüntüyü yalnızca sayfa güvenli bir şekilde sunulduğunda güvenli bir şekilde sunacaktır.

Firefox ve chrome'da asma kilide tıklayabilir ve sorun hakkında daha fazla bilgi alabilirsiniz. Bunu yaptıktan sonra, Firefox'tan bir sayfadaki tüm görüntülerin listesini gösteren bir ekran görüntüsü. Listeyi taramak ve hangilerinin olduğunu görmek kolaydır http:


2
"Bir saldırgan, aktarılan görüntüyü değiştirebilir ve böylece güvenli sayfanızın kullanıcılarınıza nasıl görüneceğini değiştirebilir." - hatta oluşturucudaki bir güvenlik açığını tetikler.
John Dvorak

2
Ve erişim belirteçlerini içerebilecek çerezleri ele geçirin.
Darkhogg

Kulağa tavsiye edildiği gibi geliyor. Senin sayende yeşil asma kilit almayı başardım ama bir arkadaşım şifreli görüntülerin sayfayı yavaşlatabileceğini söyledi. Bu benim durumumda bir sorun mu var?
mti_

3
Şifrelemenin kesinlikle bir yükü vardır, ancak bu günlerde genellikle% 10'dan fazla değildir. Bu performans cezası (görüntüler için bile) güvenli bir site için ödemeniz gereken fiyattır.
Stephen Ostermiller

whynopadlock.com , güvenli olmayan kaynakları belirli bir URL'de hızlı bir şekilde belirlemek için kullanışlı bir araçtır.
Ville

5

Sorun, sayfanızın https yerine http konumundan bağlantılar sunmasıdır. Bunun nedeni, görüntüler gibi referans kaynaklarına mutlak http bağlantıları kullanılmasıdır. Http veya https bağlantılarına başvurmanızı ve bu sorundan kaçınmanızı sağlayacak iki daha iyi yöntem vardır.

Bu bağlantıları bulmanızı ve bunları şu şekilde değiştirmenizi gerektirir:

  1. göreli bağlantılar: yani./wp-content/yourtheme/images/image1.jpg
  2. veya // alan adının önüne // yerleştirin . //example.com/wp-content/wp-content/yourtheme/images/image1.jpg Bu daha sonra bu kaynakları hangi istekte bulunulduğuna bağlı olarak http veya https üzerinden sunacaktır.

Hem Chrome hem de Firefox'ta asma kilit simgesini tıklayabilir ve ardından rahatsız edici güvenli olmayan bağlantıların bir listesini görüntülemek için tıklayabilirsiniz. Ve tarayıcıda vurgulanmış resimleri veya diğer kaynaklara göremiyorum ama yine hatalar alıyorsanız eğer http aracılığıyla kesinlikle bağlantıları başvuran bir javascript çağrısı olduğunu keşfedebilir .


2
//başlangıçta n-n standarttır ve Lynx gibi tarayıcılar şikayet edecektir.
mirabilos

2
@mirabilos RFC 1808 , URL'ler için standarttır ve bölüm 2.4.3'teki protokole bağlı bağlantıları (ile başlayan //) belirtir . Standart şimdi 15 yaşında ve Lynx
Stephen Ostermiller

#mirabilos Önerilen Google veri havuzu bağlantılarınızı kontrol edin. Google'ın yıllardır bunları kullandığını göreceksiniz.
garth

1

Gerçekten basit. SSL (https) üzerinden sunulan web siteleri oluştururken , kodunuzda https ile önceden belirtilmeyen herhangi bir referans, bağlantılar dışında güvenlik uyarıları atar . Tarayıcıların çoğunun (http) varsayılan göreli bağlantılarını da unutmayın. Bu nedenle /uploads/12/5/img.jpg veya /js/jquery.js'ye başvurursanız, aktarım protokolü varsayılan olarak http - gerçekten sinir bozucu olacaktır.

Tüm tarayıcılar uyarıları biraz farklı bir şekilde ele alır, ancak bir tür mesaj alırsınız. Genel bir açıklama, tarayıcı ne kadar yeni olursa mesajın o kadar şiddetli olacağıdır. Bazı eski tarayıcılar bu hataları neredeyse yok sayarken, yeni tarayıcılar eksik "s" nedeniyle dünyanız saldırı altındaymış gibi davranabilir.


10
"çoğu (tüm) tarayıcılar da varsayılan göreli bağlantılar http" Kesinlikle tüm tarayıcılar, kırılmadıkları sürece, açıkça yeni bir tarayıcı belirtmezseniz geçerli protokolü kullanırlar.
Oleg

5
Oleg haklı; bu "sinir bozucu" değil: tamamen yanlış.
Monica ile Hafiflik Yarışları

3
Bu tamamen yanlış. Bu yanıtı dikkate almayın.
martijnve

@martijnve - Cevabım nasıl yanlış?
blankip

4
@blankip bkz. oleg V. Volkovs yorumu. Http içeren başvurular yanlıştır. TÜM diğerleri gayet iyi. . Zaten hemen hemen tüm durumlarda göreli bağlantılar kullanmalısınız.
15'te martijnve

1

Bu önerilerden hiçbiri, web sayfanızda SSL'yi etkinleştirdikten sonra resim gösterilemediğinde yardımcı olmazsa, cPanel'in cPanel'in Güvenlik bölümü altındaki Hotlinks ayarlarının yapılıp yapılmadığını kontrol edin. : Bu ortamda aşağıdakilere sahip olduğu çok mümkün http://example.comve http://www.example.comsırasında görüntü erişmesine izin vermek için etkindir httpsbu sürümü etkin değildir.


-4

Cms / wordpress / magento veya kullandığınız diğer platformlardaki güvenli url protokol yapılandırmanızı kontrol edin. Bazı resim etiketlerinizi de paylaşabilirsiniz, ancak temel img src resimleri bu tür hatalar vermez.

Resim etiketi yapısı önemlidir, ancak sorunuzun odak noktası, sitenizde yüklü olan SSL Sertifikası "türü" ile ilgili olduğunu düşünüyorum. "Standart GoDaddy SSL Sertifikası" ile kişisel bir vaka başıma geldi.

Firefox (özellikle) URL arama çubuğunda, sitenizde güvenli olmayan resimler veya öğeler olabileceğini belirten bir uyarı simgesi göreceksiniz. Bildiğim kadarıyla, firefox'un sertifika veya içerdiği bilgileri nasıl işlediğiyle ilgili bir mesele. Bu, safari, krom veya diğer tarayıcılarda gerçekleşmez. Bunun için bir çözüm buldum, "Standart SSL" yerine "Premium SSL Sertifikası veya EVC genişletilmiş doğrulama sertifikası " yerine siteler şirketi hakkında daha ayrıntılı bilgi yükledim . Yeşil bir asma kilit güvenli URL çubuğu alırsınız.

Bununla birlikte, premium ssl sertifikası biraz daha pahalı olabilir, yılda yaklaşık 150-200 $ USD.

resim açıklamasını buraya girin


5
1) <img src = "..."> etiketleri edebilirsiniz çünkü: Bu doğru değildir aslında bu tür bir hata vermek sen ceritificate veya bir HTTP URL (aksine bir HTTPS URL) ve 2) türü girerseniz, işlendiği şekilde bununla hiçbir ilgisi yoktur
fNek

SSL protokolü olsun veya olmasın {{media url = "path / to / image.jpg"}} gibi img src global medya etiketleri için kullanıyorum ve hata alıyorum. Bu arada Stephen´s Firefox ssl hatasını gösteriyor im. Saygılarımızla.
Gaio RoOts

3
Göreli URL'ler kullanırsanız, göreli oldukları için sorun yoktur. Lütfen diğer cevabı okuyunuz. Stephen'ın hatasından bahsettiğinizi biliyorum. Sertifika türlerinin bununla hala bir ilgisi yoktur.
fNek

Sertifika türünün 'karışık içerik uyarısı' üzerinde herhangi bir etkisi yoktur. Ayrıca, bugünlerde tüm modern tarayıcılar, bazıları açıkça Kilit simgesini göstermeyi reddederek uyarıyı, bazıları açıkça gösterir.
Martijn Heemels
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.