Çapraz kaynak hedeflerine bağlantılar güvenli değildir

target="_blank" özelliğini kullanarak başka bir sitedeki sayfaya bağlantı oluşturduğunuzda, sitenizi performans ve güvenlik sorunlarına maruz bırakabilirsiniz:

  • Diğer sayfa, sayfanızla aynı işlem üzerinde çalışabilir. Diğer sayfada çok fazla JavaScript çalışıyorsa sayfanızın performansı düşebilir.
  • Diğer sayfa, window.opener mülküyle window nesnenize erişebilir. Bu durum, diğer sayfanın sayfanızı kötü amaçlı bir URL'ye yönlendirmesine izin verebilir.

target="_blank" bağlantılarınıza rel="noopener" veya rel="noreferrer" eklemek bu sorunları önler.

Lighthouse çapraz kaynak hedef denetimi nasıl başarısız olur?

Lighthouse, kaynaklar arası hedeflere güvenli olmayan bağlantıları işaretler:

Kaynaklar arası hedeflere güvenli olmayan bağlantıları gösteren Lighthouse denetimi

Lighthouse, bağlantıları güvenli olmayan site olarak tanımlamak için aşağıdaki süreci kullanır:

  1. target="_blank" özelliğini içeren tüm <a> etiketlerini toplayın ancak rel="noopener" veya rel="noreferrer" özelliklerini değil.
  2. Aynı barındırıcı bağlantılarını filtreleyin.

Lighthouse aynı ana makine bağlantılarını filtrelediğinden, büyük bir site üzerinde çalışırken dikkate almanız gereken bir uç durum vardır: Bir sayfa, rel="noopener" kullanmadan sitenizdeki başka bir sayfaya target="_blank" bağlantısı içeriyorsa bu denetimin performans sonuçları yine geçerli olur. Ancak bu bağlantıları Lighthouse sonuçlarınızda görmezsiniz.

Sitenizin performansını iyileştirme ve güvenlik açıklarını önleme

Lighthouse raporunuzda tanımlanan her bağlantıya rel="noopener" veya rel="noreferrer" ekleyin. Genel olarak, target="_blank" kullanırken her zaman rel="noopener" veya rel="noreferrer" ekleyin:

<a href="https://examplepetstore.com" target="_blank" rel="noopener">
  Example Pet Store
</a>
  • rel="noopener", yeni sayfanın window.opener özelliğine erişmesini engeller ve ayrı bir işlemde çalışmasını sağlar.
  • rel="noreferrer" de aynı etkiye sahiptir, ancak Referer üst bilgisinin yeni sayfaya gönderilmesini de engeller. Bağlantı türü "noreferrer" bölümüne bakın.

Daha fazla bilgi için Çapraz kaynak kaynakları güvenli bir şekilde paylaşma başlıklı makaleye bakın.

Kaynaklar