HTTP_REFERER

  • リファラーの偽装は比較的簡単だが、何もしないよりは無駄なアクセスを防ぐことができるから、ひとつの方法として知っておくといいだろう。

    リファラーをチェックして、他のドメイン等からの呼び出しを排除するサンプル

    $referer = $_SERVER['HTTP_REFERER'];
    $ref_url = split("/",$referer);
    $my_url = 'www.digital-gate.com';
    if(strcmp($ref_url[2],$my_url)!=0){die();}

    簡単に説明すると、

    $_SERVER['HTTP_REFERER']

    でリファラーを取得

    split("/",$referer);

    「/」で分割

    $ref_url[2]

    にhttp://より後が入る

    $my_url = 'www.digital-gate.com';

    正しい呼び出し元を設定

    if(strcmp($ref_url[2],$my_url)!=0){die();}

    含まれなければ終わり