編集:
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='';
}
これらの方法はどちらもブラウザーのサポートに依存していますが、何もないよりはましです。