编辑:
OP想要做与我最初将问题解释为相反的事情。
要防止站点不在 iframe 中时被访问,您可以使用:
<script type="text/javascript">
if (window.top === window.self) {
window.self.location = 'about:blank';
window.self.onload=function(evt){
window.self.location = 'about:blank';
document.body.innerHTML='';
};
document.body.innerHTML='';
}
</script>
这需要启用 JavaScript,并且如果在 iframe 之外访问该页面,则会将页面空白并重定向到 about:blank(无)。
防止页面在 iframe 中时被访问(原始答案,仍然有用)。
您可以发送标头X-Frame-Options: SAMEORIGIN
(Google 所做的)以要求浏览器不要在不在您域中的框架中显示内容。
PHP
header('X-XSS-Protection: 1; mode=block');
header('X-Frame-Options: SAMEORIGIN');
您还可以使用 JavaScript 解决此问题,以停止通过 iframe 访问该站点:
if (window.top !== window.self) {
window.self.location = 'about:blank';
window.self.onload=function(evt){
window.self.location = 'about:blank';
document.body.innerHTML='';
};
document.body.innerHTML='';
}
这两种方法都依赖于浏览器的支持,但聊胜于无。