PHP – Sayfanin iframe icerisinde acilmasini engellemek

Bazı durumlar olur ki, sitenizin, veya bir web sayfanızın iframe içinde açılmasını istemezsiniz. Bu durumda ne yapabiliriz diye bir bakındım ve güncel browser’ların kullandığı bir yöntem gördüm.

Örneğimiz şöyle olacak :

1 adet test.html sayfası,
1 adet test.php sayfası.

test.html içeriği

test.php in iframe <br />
<iframe src = 'test.php'>

test.php içeriği :

<?php
header("X-FRAME-OPTIONS: DENY");

echo "hello world";

?>

Görüldüğü gibi, php dosyamızda bir adet header gönderiyoruz, ve burada Frame seçeneklerini DENY yani engellemesini söylüyoruz.
Böyle olunca örneğin chrome ve mozilla’da iframe içinde “hello world” yazmıyor, çünkü request’i deny üstteki header’dan dolayı ediyor.
Chrome ek olarak konsol’a bir uyarı da basıyor.
Ekran görüntüsü de chrome için şu şekilde oluyor. php-deny-iframe

7 Comments

    PHP – Sayfanin iframe icerisinde acilmasini engellemek | Musa Usta'nın Yeri

    […] Örneğimiz şöyle olac… Devamı için : PHP – Sayfanin iframe icerisinde acilmasini engellemek […]

    PHP – Sayfanin iframe icerisinde acilmasini engellemek | yusufozkay

    […] Örneğimiz şöyle olac… Devamı için : PHP – Sayfanin iframe icerisinde acilmasini engellemek […]

    PHP – Sayfanin iframe icerisinde acilmasini engellemek | Boğaç Aslanyürek

    […] Örneğimiz şöyle olac… Devamı için : PHP – Sayfanin iframe icerisinde acilmasini engellemek […]

    PHP – Sayfanin iframe icerisinde acilmasini engellemek | Gökhan Tunçkale | Blog

    […] Örneğimiz şöyle olac… Devamı için : PHP – Sayfanin iframe icerisinde acilmasini engellemek […]

    PHP – Sayfanin iframe icerisinde acilmasini engellemek | Murat SAÇ

    […] Örneğimiz şöyle olac… Devamı için : PHP – Sayfanin iframe icerisinde acilmasini engellemek […]

    Adil İlhan

    X-FRAME-OPTIONS değeri bu kadar sade bir header request değildir.
    X-FRAME-OPTIONS değeri 3 parametre alır. Bkz: http://tools.ietf.org/html/draft-gondrom-frame-options-01#section-2.1

    DENY, ilgili sayfanın başka sayfalar tarafından açılmasını engeller.
    SAMEORIGIN, sayfanın sadece aynı domain altında açılabileceğini belirtir.
    ALLOW-FROM ile de sadece belirtilen URL’den gelen request’lere sayfayı görüntüler.

    Bir de kodlarınızın sonunda eğer HTML yoksa ?> kullanmayın. ?> kullandığınızda “unwanted white space” (istenmeyen boşluk) denilen probleme neden olabilirsiniz.

Bir Cevap Yazın