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