クッションページ($ENV{'PATH_INFO'})
#! /usr/local/bin/perl
# 移動時間指定(秒後)
$tm = 5;
# リンク先URL取り込み
if($ENV{'PATH_INFO'}) {
$url = $ENV{'PATH_INFO'};
# $ENV{'PATH_INFO'}の先頭は/
# $ENV{'PATH_INFO'}の連続する/は1つに変換されている
# http://www.*****.com/ の場合 http:/www.*****.com/ となっている
# リンク先に?が含まれる場合、?以降は$ENV{'QUERY_STRING'}で取得
if($url =~ /^(\/)(\w+:\/)/) { # http:/ありの場合
$url =~ s/^$1($2)/$1\//; # 先頭の/を削除、http:/の後に/を付け加えhttp://に
}
else { # http:/なしの場合
$url = "http:/" . $url; # http:/を付け加える
}
if($ENV{'QUERY_STRING'}) { # ?以降を取得、連結
$url .= "?" . $ENV{'QUERY_STRING'};
}
}
print qq(Content-type: text/html; charset=Shift_JIS\n\n);
print <<END;
<html>
<head>
END
if($url =~ /^\w+:\/\//) {
print qq( <meta http-equiv="refresh" content="$tm;url=$url">\n);
}
print <<END;
<title>クッションページ $url</title>
</head>
<body>
<center style="padding:100px 10px;font-size:22px;color:#666">
$tm秒後に指定のページに移動します。<br>
<br>
<a href="$url">$url</a><br>
</center>
<table align="center">
<tr>
<td>
【クッションページの使い方】<br>
リンク先のアドレスの前に
https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/
を入力してください<br>
(例)<a href="https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/http://www.*****.com/">
リンク
</a><br>
<br>
リンク先アドレスのhttp://は省略できます。<br>
(例)<a href="https://$ENV{'HTTP_HOST'}$ENV{'SCRIPT_NAME'}/www.*****.com/">
リンク
</a><br>
<br>
【クッションページとは】<br>
外部サイトにリンクする際にリンク先アドレスの確認や、
リンク先サイトのアクセス解析でリンク元アドレス取得を防ぐ目的で使用されます。<br>
(クッションページを使用するとリンク元アドレスはクッションページのアドレスとなります。)<br>
</td>
</tr>
</table>
<br><br><br><br><br>
<center><a href="/">トップページへ</a></center>
</body>
</html>
END
exit;
〔 実行する 〕