How can I prevent page opening on an iframe using PHP? Like Gmail inside an iframe?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
For PHP, you can use.
header("X-FRAME-OPTIONS: DENY");
This is only supported in modern browsers, IE8+, Firefox 3.6.9, Safari 4 and Chrome. For older browser, you would also require some JavaScript.
回答2:
You can do that with JavaScript
if( (self.parent && !(self.parent===self))
&&(self.parent.frames.length!=0)){
self.parent.location=document.location
}
This will redirect from page that opens your page in iframe to your page.
回答3:
You cannot know from PHP code whether the current page is being loaded inside someone's iframe. PHP is run at the server, before anything is sent to the browser.
Only JavaScript, which runs in the browser, can detect if its window is the parent or not and do something about it.