LoginSignup
7
13

More than 5 years have passed since last update.

特定のドメインにだけiframeでの埋め込みを許可する

Posted at

概要

あるページについて、セキュリティ対策として、以下を実装したい場合の方法。
・他サイトにiframeで埋め込まれるのを抑止したい
・特定のドメインにだけiframeでの埋め込みを許可したい

※セキュリティ上の観点では、JavaScriptでの実装ではなくphpなどサーバーサイドスクリプトでの実装が望ましいですが、あくまでJavaScriptで簡易に実装する方法として紹介します。

コード

jQueryがロードされている前提のコードです。
解説は、コード内のコメント参照。

$(document).ready(function(){
    //リファラ取得
    var ref = document.referrer;

    //許可ドメインのリスト設定
    var domainArr = new Array();
    //複数ページある場合は、ページを置いた自身のドメインを追加しておかないと、ページ遷移するとエラー表示になってしまう。
    domainArr.push("自身のドメイン.jp");
    domainArr.push("許可する別ドメイン1.jp");
    domainArr.push("許可する別ドメイン2.jp");

    var flg = false;
    for(var cnt=0;cnt<domainArr.length;cnt++){
        //許可ドメインかどうか判定
        if(ref.indexOf(domainArr[cnt])!=-1){
            flg = true;
        }
    }
    if(flg == false){
        //許可ドメイン外の場合、htmlを書き換える
        $('body').html('エラー:不正なアクセス');
    }
});

7
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
13