[ Perl ] 参照元 URL ( リファラ ) を取得する ( HTTP_REFERER )

Pocket

ここでは、Perl で参照元URL(リファラ)を環境変数から取得する方法と CGI.pm モジュールを利用して取得する2つの方法のサンプルスクリプトを掲載しています。

スポンサーリンク


環境変数(HTTP_REFERER)から取得

はじめに環境変数から参照元URLを取得するサンプルコードです。なお、参照元URLが取得できない場合は、直接アクセスされた場合などが考えられます。

# 環境変数から参照元URLを取得する
$ENV{'HTTP_REFERER'}

CGI.pm モジュールを利用する

CGIモジュールを利用することによって、次のような記述方法で参照元URLを取得することができます。内部では環境変数を取得しているかもしれません。

また、CGI.pm は Perl5 で標準で使用可能です。利用を躊躇する理由はないでしょう。なお、参照元の取得のためだけに利用するのはやりすぎコージーかもしれません。

以下のサンプルスクリプトでは、決められたページ(遷移元)以外からのアクセスを遮断するサンプルになります。

use CGI;

my $q = new CGI;
my $referer = '';
$referer = $q->referer();

# 遷移元が決まっている場合に、直接アクセスや
# prev_page.cgi 以外のページからの遷移を拒絶する
if(index($referer, 'prev_page.cgi') == -1) {
    exit;
}

Javascript でリファラを取得する

ついでの情報です。Javascript で参照元URLを取得するサンプルスクリプトは次の通りです。referrer です。注目です。

document.referrer

 

富山県ではノーマル契約の場合、民放ではテレビ朝日とテレビ東京の番組は見ることができません。それだけのことです。別に困ることはありません。

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>