PHPでReferer(リファラー)を残さないリンクを作る

Webの仕事をしていればサイトを公開する前にテストサイトなどで関係者に確認を取ることが多いと思います。もしテストサイトから外部サイトへのリンククリックがあると外部のサイト管理者にReferer(リファラー)情報からテストサイトのアドレスなどの情報が分かってしまうことがあります。

テストサイトの段階では外部リンクを無くす方法もありますが修正が面倒ですし、事情を知らない関係者からすればリンクが間違ってると思われます。そこでPHPを使ってテストサイトからのリンクをいったん別の場所に飛ばし、そこから外部サイトへ移動すればテストサイトのアドレスがバレることが無くなります。

まずは以下のリダイレクト用PHPをテストサイトでは無いアドレスが知られても大丈夫な場所に置きます。

<?php
$link = htmlspecialchars($_GET['link'], ENT_QUOTES);
if(!empty($link)){
header("Refresh: 5; URL= $link");
}
?>
<html>
<head>
<title>のサイトから外部サイトへ移動します。</title>
</head>
<body>
ここから先はTAS designのサイトではありません、 外部のサイトに移動します。<br />
</body>
</html>

そして上記のPHPがある場所にテストサイトからリンク先のURLの情報を付けてリンクします。
<a href=”リダイレクト用PHP?link=リンク先のアドレス”>リンク</a>
例えばテストサイトからのyahooへのリンクの仕方は、
http://blog.tasdesign.jp/direct_link.php?link=http://www.yahoo.co.jp/
これでリファラー情報が空になるか、リンク用PHPファイルの場所しかリファラーには残らないようになります。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です