Nasıl bir iFrame yüklendiğinde site'si benim sayfayı çağıran alabilirim?

4 Cevap php

O $ ENV {'HTTP_REFERER'} kadar kolay mı? ya da yapmam gereken başka bir şey var mı?

Example: My Site: sample.php

IFrame w / Siteye çağırıyor: somesite.com

Ben bunu bir değişken olarak girişi için "somesite.com" kullanmak mümkün yüklediğinde sample.php istiyorum.

4 Cevap

Bir satır içi çerçeve ve normal bir sayfaya arasında hiçbir fark yoktur. Ve başlangıçta bir satır içi çerçeve yükleme src HTTP referer göndereceğiz.

Bu tarayıcı tarafından gönderilen bir bilgi, ve birini yapabilirsiniz: Öncelikle, sizin sayfa depend üzerine Referer şimdiki ne doğru olmak gerekir

  • (- ya da bazen önce yaptım bazı güvenlik duvarı / antivirüs Örneğin, bu bilgileri kaldırmak) devre dışı bırakılabilir
  • veya değiştirilmiş / (Eğer biraz arama yaparsanız, örneğin, bu oldukça kolay sahte size izin bazı firefox eklentisi olmalı) sahte


For more informations, see, for instance :

Bu mesaj ^ ^ bana "katılıyorum" hem


Now, you can enventually use it to add some feature ; but you must not rely on it for your website to work ;-)

Üst URL erişmek için gerçekten güvenilir bir yol, bunu embed üst URL içeren iframe src GET parametresini ekleyebilirsiniz. Sen embed ile birlikte otomatik olarak bu eklemek için Javascript kullanabilirsiniz.

İşte <body> etiketinin sonunda iframe gömer bir örnek:

var iframe = document.createElement('iframe');
iframe.src = '/sample.php?parent=' + window.location;
document.body.appendChild(iframe);

Daha sonra PHP ile gelen güvenilir üst URL erişebilirsiniz:

$parent_url = $_GET['parent'];

Pascal MARTIN belirtildiği gibi, kesinlikle Referer değerini güven olmamalıdır.

Gumbo cevabı üzerine genişletilmesi: Referer bir <iframe> yüklenen bir komut dosyası içinde bunu alınırken bir HTTP isteği içinde bir başlık olarak iletilir beri başka bir komut dosyası için alınıyor tam olarak aynıdır.

Tarayıcı içinde src özniteliği tarafından belirtilen sayfa istediğinde <iframe> başka herhangi bir kaynak için böyle bir HTTP isteği göndermek ve Referer başlığını içerecek değer.

Referer başlığının değeri <iframe> barındıran sayfanın URL'sini içerecektir. Eğer page-with-iframe.php adında bir PHP komut dosyası vardı ve bunun için <iframe src="sample.php" /> HTTP isteği içerdiği Yani sample.php gibi bir şey olabilir:

GET /sample.php HTTP/1.1
Host: somesite.com
...
Referer: http://somesite.com/page-with-iframe.php

In sample.php Eğer $ENV{'HTTP_REFERER'} değerini almak ve oradan hotname ayrıştırmak olabilir kullanmak istiyorsunuz somesite.com.