インフォメーションBBS
[使い方]
[タイトルのみ]
[関連発言]
[最新20発言]
[過去ログ一覧]
発言#1104へのレスポンスを書き込んでください:
お名前:
←パスワード(修正用)
アドレス:
タイトル:
本文:
#1104(わかやま神氏)の書き込みを引用します: >#1101(海豚氏)の書き込みを引用します: >>#1100(わかやま神氏)の書き込みを引用します: >>>そうねっ!単純が一番! >>>で、手元に資料がないから・・・ >>>正規表現と置換を利用すれば可能です。 >>>置換だけでも出来ると思うけど。 >>>それらしい事分かれば連絡します。 >> >>ありがとうございます。 >>期待に胸膨らませてお待ちしていま〜す♪ > >正規表現って難しいのねん。 >で、これでどうかな? > >#!/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」が入っています。 >該当する文字(この場合は「?」)がない時は、 >すべての文字を返しますから問題ないでしょう。
[トップページに戻る]
管理人 :
キャメル