Dokümanlar

Sorun rehberi · Güvenlik

Dış kaynaklı betikler bütünlük denetimi olmadan yükleniyor

ÖnemDüşük
KategoriGüvenlik
KapsamTüm site
EmekAz
DoğrulamaGüvenlik taraması (haftalık ya da Yeniden tara)
Kural anahtarısec_sri_missing

Kısa cevap

Sayfalarınız başka bir alan adından integrity özeti olmadan JavaScript yüklüyor. O CDN ya da sunucu ele geçirilirse veya dosya değiştirilirse yeni kod sayfalarınıza ve ziyaretçilerinize tam erişimle çalışır. Subresource Integrity (crossorigin="anonymous" ile birlikte integrity="sha384-..."), özetle eşleşmeyen dosyayı tarayıcının reddetmesini sağlar. Sabit sürümlü dosyalarda işe yarar; tasarımı gereği değişen betikleri kendiniz barındırın ya da özetsiz bırakın.

Neden önemli

Dış kaynaklı bir betik sizin kodunuzla aynı güce sahiptir: form alanlarını okuyabilir, kart numaralarını kopyalayabilir, yönlendirme ya da spam link ekleyebilir. Popüler CDN'lere ve terk edilmiş betik alan adlarına yapılan saldırılar zararlı kodu bir anda binlerce siteye yaydı; site sahipleri durumu ziyaretçilerinden ya da tarayıcı uyarılarından öğrendi. SRI ile tarayıcı indirdiği dosyayı yayımladığınız özetle karşılaştırır ve her değişikliği engeller.

Yalnız dış taraf ele geçirilirse önem kazandığı için düzeyi Düşük'tür. Sızdırılan spam ya da zararlı yazılım arama görünürlüğüne zarar verir ama SRI'ın kendisinin sıralamaya etkisi yoktur.

Glimana bunu nasıl tespit eder

Glimana ana sayfanızdaki ve en çok iki sayfadaki <script src> etiketlerini listeler. Ana makinesi ne sitenizin ne de alt alan adlarından biri olan betik dış sayılır. sha256, sha384 ya da sha512 özetli bir integrity özniteliği yoksa, ya da varsa ama crossorigin özniteliği yoksa (tarayıcı o zaman betiği engeller) işaretlenir. Betikleri sürekli değişen ve SRI kullanamayan servisler bilerek atlanır; aralarında Google Tag Manager ve Analytics, reCAPTCHA, hCaptcha, Stripe, Facebook, Cloudflare Insights ve YouTube var. Sorun en çok on betiği listeler (Düşük).

Nasıl düzeltilir

Dikkat

Özeti yalnız tam bir sürümü gösteren adrese ekleyin, örneğin /ajax/libs/jquery/3.7.1/jquery.min.js. "En son" sürümü veren bir adres ya da dosyasını yerinde güncelleyen bir servis değişir; tarayıcı onu engeller ve ona bağlı her şey bozulur. crossorigin="anonymous" olmadan tarayıcı başka alan adındaki dosyayı doğrulayamaz ve betiği engeller.

  1. Glimana'da bulguyu bulun. Güvenlik sayfasını açın; bu kontrol Çerezler ve siteler arası erişim grubunda, son taramanın kanıtı başlığının altında. Aynı sorun Sorunlar › Dış kaynaklı betikler bütünlük denetimi olmadan yükleniyor altında da listelenir.
  2. Düzeltmeyi platformunuzda uygulayın.

    Çoğu herkese açık CDN her dosyanın yanında SRI özetini gösterir. Kendiniz de hesaplayabilirsiniz: curl -s URL | openssl dgst -sha384 -binary | openssl base64 -A. Ardından etiketi <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-HASH" crossorigin="anonymous"></script> biçiminde yazın; HASH yerine değeri koyun.

    WordPress'te SRI için yerleşik bir ayar yoktur. Temanızın ya da bir eklentinin CDN'den sıraya koyduğu betiğe nitelikleri script_loader_tag filtresiyle ekleyin: add_filter('script_loader_tag', function ($tag, $handle) { if ($handle === 'my-cdn-lib') { $tag = str_replace(' src=', ' integrity="sha384-HASH" crossorigin="anonymous" src=', $tag); } return $tag; }, 10, 2);. Çoğu zaman daha basiti: dosyayı temanıza indirip yerelden sıraya koymaktır (sonraki sekme).

    Kütüphaneyi kendi alan adınızdan ya da bir alt alan adından sunmak bulguyu ortadan kaldırır, çünkü Glimana yalnız başka alan adlarındaki betikleri işaretler; dış tarafa bağımlılığı da kaldırır. Aynı tam sürümü kullanın ve sitenin geri kalanını güncellerken onu da güncelleyin.

  3. Glimana'da kontrol edin. Güvenlik sayfasında Yeniden tara düğmesine basın (saatte en çok iki tarama) ya da pazar günkü haftalık taramayı bekleyin; kontrol geçince sorun kapanır.

Düzeltme nasıl doğrulanır

Düzelttikten sonra Güvenlik sayfasında Yeniden tara düğmesine basın (ya da pazar günkü haftalık taramayı bekleyin); kontrol geçtiği anda sorun kapanır.

Kaynaklar

Bu sayfa işinize yaradı mı?

Son güncelleme 2026-11-07 · Destekle iletişim