PHPで呼び出し元(リファラー)をチェックしたい時はこの方法

·

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

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

$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();}

含まれなければ終わり