TASYU.COMをご覧いただきありがとうございました。
これより先は外部リンクです。
(http://tasyu.com/)
こんなページがTASYU.COMでは表示される。
よく,企業やイベント系のサイトで表示されることがあるけど,自分のサイトとは関係のないことを見る人に伝えるためのページ。
これは,CGIスクリプトで簡単に作ることができるので紹介。
まず,以下のスクリプトをコピーしてlink.cgiと保存する。
*文字コードはUTF-8Nで保存してね。
#ここからコピー
#!/usr/bin/perl --
##Perlのパスをサーバーによっては直す
use CGI::Carp qw(fatalsToBrowser);
use open ":utf8";
##CGIを使う許可
# "|"で区切る
$set_url = 'http://tasyu.com/';
&check_http_referer;
$string = $ENV {'QUERY_STRING'};
($value,$url) = split (/url=/,$string);
print "Content-type: text/html\n\n";
##ここからHTML
print <<"EOM";
<HTML lang=ja>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<TITLE>これより先は外部サイトです</TITLE>
</head>
<body>
<h3>ご覧頂きありがとうございました。</h3>
<ul><h4><a href="$url">これより先は、外部サイトになります。<br>
($url)</a><h4></ul>
EOM
##ここまでHTML
print "</body></html>";
sub check_http_referer {
if ($set_url && $ENV{'HTTP_USER_AGENT'}) {
$set_url =~ s/\./\\./g;
$SENV{'HTTP_REFERER'} = $ENV{'HTTP_REFERER'};
$SENV{'HTTP_REFERER'} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if ($SENV{'HTTP_REFERER'} !~ /$set_url/i) {
&onError('外部サーバからの呼び出しです/Called from External Server');
}}}
sub onError #($_)
{
local($_) = $_[0];
print "Content-Type: text/plain\n";
print "\n";
print;
exit(0);
}
__END__
#ここまでコピー
で,$set_url = '' の''の中に自分のサイトのURLを書く。
*外部から勝手に使われないようにです。
UTF-8Nでlink.cgiとして保存したらCGIの動く場所にアップロードしてパーミッションを705または755に変更してlink.cgiに動作権限を与えます。
で,リンクを貼る時に href="http://tasyu.com" などと書いていたところを href="/link.cgiをアップロードした場所/link.cgi?url=http://tasyu.com/" と /link.cgiをアップロードした場所/link.cgi?url= を加えてあげれば完成です。
HTMLの部分は自由に書き直して大丈夫です。
HTML中でリンク先のURLを表示したい時は $url と書くと表示されます。
まずは,HTMLを編集しないで動かして見てください。

コメントする