インフォメーションBBS

[使い方] [タイトルのみ] [関連発言] [最新20発言] [過去ログ一覧]
1105 海豚 [RE] 2000/10/08 23:58 [修正]
RE24:ミニBBSに直接アクセスできないようにするには
#1104(わかやま神氏)の書き込みを引用します:
>正規表現って難しいのねん。
>で、これでどうかな?
>
>#!/usr/local/bin/perl
>
>$r = $ENV{'HTTP_REFERER'};  #リンク元の取得
>
>($ref, $b) = split( /\?/, $r );  #「?」より前を取得
>
>$this_url = 'http://www.hoge.ne.jp/cgi-bin/hoge/hoge/env_cgi.cgi';  #実行CGI
>$come_url = 'http://www.hoge.ne.jp/hoge/env.shtml';  #リンク元
>$for_url = 'http://www.yahoo.co.jp/';  #yahooへぶっ飛ばす
>
>#比較が「0」なら直接「1」ならリンク元または自分自身
>$env_ok = ($ref eq $come_url || $ref eq $this_url) ? '1' : '0' ;
>
>if ($env_ok == 0) {
>	print "Location: $for_url\n\n";  #バイバイ
>	exit;  #おちまい
> }
>
>たとえば
>http://p4room.mda.or.jp/book/cgi/info.cgi?res=1098
>となっていたら、「?」より前を取ってきます。
>「$b」はダミーですから使う必要はありません。
>「$b」の中には「res=1098」が入っています。
>該当する文字(この場合は「?」)がない時は、
>すべての文字を返しますから問題ないでしょう。

「水原麗名@ういんずはーと」さん「わかやま神」さん、ありがとうございます。
早速やらせていただきます。

レスポンスは付いていません

[トップページに戻る]管理人 : キャメル