uttsu.com > CGI/SSI >

Referrer消去リダイレクト

目次

内容

 リンク先のサイト(サーバー)に、リンク元情報(HTTP_REFERER)を渡さずにリンクします。設置するファイルは1つだけで、簡単に設置できます。

 r/のあとにURLを書けば、自動的にリンク元を渡さないリンクになります。

例:
http://uttsu.com/r/http://www.yahoo.co.jp/

サンプル

 「Referrer消去リダイレクト」で試せます。

ダウンロード

設置方法

ディレクトリ構成とファイル属性

 サーバーに以下のパーミッションでファイルを転送します。サーバーによってはパーミッションの設定などが多少異なることがあります。

ファイル名      属性    説明
r.cgi           701     本体
.htaccess       600     アクセス設定ファイル

 .htaccessファイルはコンテント・ネゴシエーション機能を有効にするために設置します。もともと有効になっている場合は不要です。

r.cgiの設定

 r.cgiをテキストエディタで開き、以下の行を設定します。

#!/usr/local/bin/perl

 1行目はPerlのある場所です。プロバイダごとに異なるので、プロバイダの説明に従って書き換えます。以下のケースである場合がほとんどです。

# 不許可のリンク元の場合の転送先ページ
my $home_url = 'http://uttsu.com/';

 転送先のURLが指定されなかったときや、不許可のリンク元からのアクセス時に転送するページを指定します。

# 転送を許可するリンク元サイト
my @allow_site = (
    'http://uttsu.com/',
    'http://www.uttsu.com/',
    'http://birdcgi.zero.ad.jp/~zam06391/',
);

 他のサイトからの利用を制限したいときは、ここに利用を許可する転送元のURLを記入します。このURLが先頭にマッチしているリンク元からの利用を許可します。複数指定できます。

.htaccessの設定

 コンテント・ネゴシエーションを有効にするために、以下の内容を.htaccessファイルに追加します。もともと有効になっている場合は不要です。

<Files "r">
Options +MultiViews
</Files>

.htaccessファイルが使えないときは

 サーバーによっては.htaccessファイルを設置できない設定になっているところがあります。その場合は.htaccessファイルは設置しなくても構いません。この場合、リダイレクト用のURLは

http://uttsu.com/r.cgi/http://www.yahoo.co.jp/

 のように.cgiを含むものになります。

制限事項

 リンク先のサーバーに渡されるリンク元情報(HTTP_REFERERの値)は、ブラウザによって送信されるものです。「Referrer消去リダイレクト」で用いている方法は、Internet ExplorerとNetscapeでたまたま有効なので大半の利用者に有効ですが、それ以外のブラウザではリンク元が渡されるかもしれません。

 また、IEなどのようにブラウザのバグのためにリンク元情報が漏れてしまうこともあります。

 「Referrer消去リダイレクト」には、以下のような制限事項があります。

 以上のように、「Referrer消去リダイレクト」は万全ではないので注意してください。


Copyright (C) Takashi Utsunomiya. All Rights Reserved.
2002.11.06掲載