CGI-BBS > 電子掲示板 > その他 > HTTP_REFERER を誤魔化す?方法。。


カレッヂ
カレッヂ


質問者 たかし  投稿日 3/23(金) 16:30:51
会員制の掲示板を運営しています。
掲示板の書き込みで、URLを自動リンク化して、それをクリックして
外部のページへ飛んだ時に、こちらのURLが渡ってしまう危険性が有ります。

こういった部分を回避する、良い手段は無いのでしょうか?

ジャンプ専用のCGIを作成して、それに飛び先のURLを渡して・・、と
考えては見ましたが、自分ではどうも。。

ご意見、アイディア等、お聞かせ下さい。
宜しくお願いいたします。
回答者 boy  [削除]  投稿日 3/23(金) 23:25:45
ご参考までの投稿します。
下記の様な感じにすれは、参照元はリンク先に分からなくなると思います。

#------------
#  掲示板側
#------------
# ジャンプ用のCGIのhttpアドレス
$link_addr = 'http://xxx.xxx.jp/cgi-bin/link.cgi';

# リンク先のアドレス
$POST{'url'} = 'xxxxx';

# リンク部分でジャンプ用のCGIへリンク先のアドレスを渡す。
#
print "<A HREF=\"$link_addr\?$POST{'url'}\">$POST{'url'}</A>\n";


#------------------
#  ジャンプ用CGI
#------------------
# 正規の参照元 ( 掲示板のアドレス )
$ref_right   = 'http://xxx.xxx.jp/cgi-bin/bbs.cgi';

$referer = $ENV{'HTTP_REFERER'}; $query = $ENV{'QUERY_STRING'};

if (($referer =~ /$ref_right/i) && ($query =~ /http:\/\//i)) {
        print "Content-type: text/html\n\n";
        print "<HTML><HEAD><TITLE>Hyper Link</TITLE>\n";
        print "<META HTTP-EQUIV=\"refresh\" CONTENT=\"1\;url=$query\">\n";
        print "</HEAD><BODY></BODY></HTML>\n";
}
else {
        print "Location: $referer\n\n";
}
exit;
質問者 たかし  [削除]  投稿日 3/24(土) 00:42:27
>boy さん
回答ありがとうございました。

なんとか、手元に有った他のCGIを修正しながら、ジャンプ用の
CGIを作りました。
フォームデコードも、そのまんま使いましたが。。

あとは、少し整えた形で。
sub jump_cont {
        print "Content-type: text/html\n\n";
        print "<html><head>\n";
        print "<meta http-equiv=\"refresh\" content=\"1\;url=$url\">\n";
        print "<title>URL漏れ対策</title></head>\n";
        print "<body><center>\n";
        print "URL保護のため直接リンク先へ行かない様になっています。<br>\n";
        print "自動で\表\示が変らない時は下をクリックして下さい。<br><br>\n";
        print "<a href=\"$url\" target=\"_top\"><font size=5>Click here!!</font></a>\n";
        print "</center></body></html>\n";
        exit;
}

という感じで、今のところ上手く動いている様です。
ありがとうございました。。

返信(回答)する


Web裏技