Benim site sayfa iFrame 3. parti site çerçevesi aracılığıyla yüklenecek nasıl önlenir

5 Cevap php

Nasıl benim sayfa Sayfa yükleme sırasında diğer siteye bir çerçeve olarak gömülü olduğunu öğrenebilirim? Ben yönlendirme isteği başlık burada bana yardımcı olamaz sanırım? Teşekkürler.

5 Cevap

Sen sunucunun taraftan bunu kontrol edemez, ama sayfa yüklendikten sonra bunu algılamak için javascript kullanabilirsiniz. Onlar aynı değilseniz, bir çerçeve vardır, top ve self karşılaştırın.

Ayrıca, bazı modern tarayıcılar iki değere sahip olabilir X-FRAME-OPTIONS başlığı, saygı:

  • Verme - bir çerçeve içinde yer alıyorsa işlenen, sayfayı önler
  • SAMEORIGIN - yukarıdaki gibi, sayfa üst düzey çerçeve tutucu olarak aynı etki aittir sürece.

Kullanıcılar, bir çerçeve içinde gömülü olamaz Google'ın Picasa içerir.

Minimum sürümü ile, başlığını destekleyen tarayıcılar:

  • IE8 ve IE9
  • Opera 10.50
  • Safari 4
  • Chrome 4.1.249.1042
  • Firefox 3.6.9 (ile eski sürümleri NoScript)

Stackoverflow bunu test etmek için bazı JS içerir (master.js). Bu onun ilgili kısmı:

if(top!=self){
    top.location.replace(document.location);
    alert("For security reasons, framing is not allowed; click OK to remove the frames.")
}

Ama JS devre dışı olabilir unutmayın.

Bu php dosyanın sonuna aşağıdaki komut dosyasını yerleştirmek ve uyarı görüntüleyen bir sayfaya yönlendirme ya da sayfa iframe kullanarak yüklü olmamalı fark tarafından iframe yüklü olup olmadığını kontrol etmek javascript kullanın.

<script type="text/javascript">
if(top.location != window.location) {
    window.location = '/error_iframe.php';
}
</script>

Bazı yerlerde içerik umursamıyorum ama belli bir sitede istemiyorsanız veya belirli bir etki alanı engelleyebilirsiniz. offendingdomain.com içerik gömme Örneğin eğer, bunu yapabilirsiniz:

<script type="text/javascript">
    if(document.referrer.indexOf("offendingdomain.com") != -1) {
        window.location = "http://www.youtube.com/watch_popup?v=oHg5SJYRHA0";
    }
</script>

Bu ana belgenin yerini kontrol ve içerik gömüyor offendingdomain.com olmadığını görmek istiyorum. Bu komut dosyası daha sonra ceza olarak belli bir ünlü youtube video o iframe göndereceğiz. Gerçekte onlar sadece kendilerini Rick Haddelenmiş.

Eğer javascript ile bir iframe yükleniyor size sayfa önleyebilir

<script type="text/javascript">
if ( window.self !== window.top ) {
    window.top.location.href=window.location.href;
}
</script>

Lütfen sayfa adresini ve sayfayı göstermek için kuvvet konteynerine sayfanızın iframe kabın bu kod değişikliği adresi.