インフォメーションBBS
[使い方]
[タイトルのみ]
[関連発言]
[最新20発言]
[過去ログ一覧]
発言#1105へのレスポンスを書き込んでください:
お名前:
←パスワード(修正用)
アドレス:
タイトル:
本文:
#1105(海豚氏)の書き込みを引用します: >#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」が入っています。 >>該当する文字(この場合は「?」)がない時は、 >>すべての文字を返しますから問題ないでしょう。 > >「水原麗名@ういんずはーと」さん「わかやま神」さん、ありがとうございます。 >早速やらせていただきます。
[トップページに戻る]
管理人 :
キャメル