WBK AI
V.I.P
ERR_BLOCKED_BY_RESPONSE, tarayıcının bir sayfayı veya kaynağı, sunucunun gönderdiği yanıt başlıkları buna izin vermediği için engellediğini gösteren bir hatadır. En sık, bir site başka bir sitenin içine
Bu hata bir bağlantı sorunu değildir: istek sunucuya ulaşmış ve yanıt gelmiştir. Ancak yanıtta bulunan bir güvenlik başlığı, içeriğin bu bağlamda (ör. başka bir sitenin çerçevesinde) gösterilmesini yasaklar ve tarayıcı bu kurala uyar. Yani tarayıcı, sitenin kendi koyduğu güvenlik kuralını uygulamaktadır. Konsolda hata bazen
Bu kural sitenin kendisi tarafından konduğu için ziyaretçi tarafında kalıcı bir çözüm yoktur. Çerçevenin içindeki içeriği görmek istiyorsanız bağlantıyı yeni bir sekmede doğrudan açın; sayfa normal şekilde yüklenir. Başlıkları kaldıran tarayıcı eklentileri önerilmez, çünkü bu başlıklar sizi tıklama hırsızlığı (clickjacking) gibi saldırılara karşı korur.
Geliştirici araçlarının Ağ (Network) sekmesinde engellenen isteğe tıklayın ve Yanıt Başlıkları‘na bakın. Komut satırından da kontrol edebilirsiniz:
Kendi sayfanızın belirli bir sitede çerçeve içinde açılmasını istiyorsanız
Aynı yanıtta
Görsel veya dosyalarınızın başka sitelerde kullanılması gerekiyorsa, bu kaynakları
Başlık başka bir sitenin sunucusundan geliyorsa onu siz değiştiremezsiniz. Bu durumda sitenin sunduğu resmi yerleştirme (embed) bağlantısını veya API’yi kullanın ya da içerik yerine bağlantı verin.
Konsolda CORS kaynaklı genel bir hata görüyorsanız ERR_FAILED rehberimize bakabilirsiniz.
ERR_BLOCKED_BY_RESPONSE, tarayıcının sitenin kendi güvenlik başlıklarına uyarak bir sayfayı veya kaynağı engellediğini gösterir. Ziyaretçi olarak sayfayı yeni sekmede açmak yeterlidir. Site sahibiyseniz X-Frame-Options, CSP frame-ancestors ve Cross-Origin-Resource-Policy başlıklarını ihtiyacınıza göre ve yalnızca güvendiğiniz sitelere izin verecek şekilde ayarlayın.
iframe ile yerleştirilmek istendiğinde görülür: çerçevenin içinde “… bağlanmayı reddetti” mesajı belirir ve konsolda net::ERR_BLOCKED_BY_RESPONSE yazar. Bu yazıda hatanın nedenlerini ve site sahipleri ile geliştiriciler için çözüm yollarını anlatıyoruz.ERR_BLOCKED_BY_RESPONSE Ne Demek?
Bu hata bir bağlantı sorunu değildir: istek sunucuya ulaşmış ve yanıt gelmiştir. Ancak yanıtta bulunan bir güvenlik başlığı, içeriğin bu bağlamda (ör. başka bir sitenin çerçevesinde) gösterilmesini yasaklar ve tarayıcı bu kurala uyar. Yani tarayıcı, sitenin kendi koyduğu güvenlik kuralını uygulamaktadır. Konsolda hata bazen
ERR_BLOCKED_BY_RESPONSE.NotSameOrigin gibi ek bir açıklamayla görünür.Hatanın Nedenleri
- X-Frame-Options: Sayfa
X-Frame-Options: DENYveyaSAMEORIGINbaşlığı gönderiyorsa başka sitelerin çerçevesinde açılmaz. - CSP frame-ancestors:
Content-Security-Policybaşlığındakiframe-ancestorsyönergesi, sayfayı hangi sitelerin çerçeveleyebileceğini belirler. - Cross-Origin-Resource-Policy (CORP): Bir görsel, betik veya dosya
same-originya dasame-sitepolitikasıyla sunuluyorsa başka sitelerden yüklenemez. - Cross-Origin-Embedder-Policy (COEP): Sayfanız
require-corppolitikası kullanıyorsa, izin başlığı göndermeyen dış kaynaklar engellenir. - Güvenlik eklentisi veya CDN kuralı: WordPress güvenlik eklentileri ve CDN ayarları bu başlıkları otomatik olarak ekleyebilir.
Ziyaretçi Olarak Ne Yapabilirsiniz?
Bu kural sitenin kendisi tarafından konduğu için ziyaretçi tarafında kalıcı bir çözüm yoktur. Çerçevenin içindeki içeriği görmek istiyorsanız bağlantıyı yeni bir sekmede doğrudan açın; sayfa normal şekilde yüklenir. Başlıkları kaldıran tarayıcı eklentileri önerilmez, çünkü bu başlıklar sizi tıklama hırsızlığı (clickjacking) gibi saldırılara karşı korur.
Site Sahibi ve Geliştirici Olarak Nasıl Çözülür?
1. Hangi Başlığın Engellediğini Bulun
Geliştirici araçlarının Ağ (Network) sekmesinde engellenen isteğe tıklayın ve Yanıt Başlıkları‘na bakın. Komut satırından da kontrol edebilirsiniz:
curl -sI https://alanadiniz.com/sayfa | grep -iE "x-frame-options|content-security-policy|cross-origin"2. Çerçevelemeye Yalnızca Güvendiğiniz Sitelere İzin Verin
Kendi sayfanızın belirli bir sitede çerçeve içinde açılmasını istiyorsanız
X-Frame-Options yerine CSP kullanın ve izin verilen siteleri açıkça yazın. Nginx için örnek:add_header Content-Security-Policy "frame-ancestors 'self' https://izinli-site.com" always;Aynı yanıtta
X-Frame-Options: DENY de gönderiliyorsa onu kaldırın. Çerçevelemeye her siteye izin vermek (frame-ancestors *) tıklama hırsızlığı riskini artırır; yalnızca gerçekten ihtiyaç duyulan siteleri ekleyin.3. Dış Kaynaklar İçin CORP Ayarını Düzeltin
Görsel veya dosyalarınızın başka sitelerde kullanılması gerekiyorsa, bu kaynakları
Cross-Origin-Resource-Policy: cross-origin başlığıyla sunun. Sayfanızda COEP kullanıyorsanız, yüklediğiniz dış kaynakların bu başlığı göndermesi veya CORS ile yüklenmesi gerekir.4. Başka Bir Sitenin Sayfasını Çerçeveleyemiyorsanız
Başlık başka bir sitenin sunucusundan geliyorsa onu siz değiştiremezsiniz. Bu durumda sitenin sunduğu resmi yerleştirme (embed) bağlantısını veya API’yi kullanın ya da içerik yerine bağlantı verin.
Konsolda CORS kaynaklı genel bir hata görüyorsanız ERR_FAILED rehberimize bakabilirsiniz.
Sonuç
ERR_BLOCKED_BY_RESPONSE, tarayıcının sitenin kendi güvenlik başlıklarına uyarak bir sayfayı veya kaynağı engellediğini gösterir. Ziyaretçi olarak sayfayı yeni sekmede açmak yeterlidir. Site sahibiyseniz X-Frame-Options, CSP frame-ancestors ve Cross-Origin-Resource-Policy başlıklarını ihtiyacınıza göre ve yalnızca güvendiğiniz sitelere izin verecek şekilde ayarlayın.