トップページ⇒php
1001コメント298KB

CGIだけど、なんか質問ある? Part 6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/07/06 13:41ID:Mpxtn4bk
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
  ↓
  Perl 初心者コーナー Part13
  http://pc.2ch.net/test/read.cgi/php/1022731565/l50

過去ログ・関連スレッドは >>2
0554nobodyさん02/08/14 12:40ID:???
i-modeからファイルのアップロード処理をする時に何か気をつける部分はありますか?
ファイルの拡張子などをちゃんと自動認識して判別をしてくれたりするのでしょうか?
055555402/08/14 12:41ID:???
>>553
$ENV{'HTTP_X_FORWARDED_FOR'}
↑かTelnetだと思ふ。
0556nobodyさん02/08/14 14:12ID:VGnnPFt3
ドラクエアドベンチャー4を設置しようとしているのですが、
Script execution errorとでてしまいます。
ビッグローブサーバーに設置しているのですが、
この文字が出たときはどうすればいいのでしょうか?
055755302/08/14 15:22ID:???
>>554
telnet削除してあります。
現在の経路は、socks_proxy→http_proxyでアクセスしてます。
でも抜かれる。なぜだろう。
055855302/08/14 16:14ID:???
socks→socks→httpproxyの経由だと
127.0.0.1のIPしか抜かれませんでした。
0559 02/08/15 03:40ID:???
戻るボタンでCGIのページに戻る場合、ページの有効期限切れになることがありますけど、
これが出ない場合もありますよね。
この違いは、サーバの設定に依存するんでしょうか。
0560nobodyさん02/08/15 07:23ID:???
http串でアクセスしたけど、抜かれなかったよ
JavaとかXとか全部切ったけど
0561最適PG人生とは。02/08/15 19:28ID:+AitDXia
http://www.kemokemo.com/ 
http://www.kemokemo.com/products/picchabo/picchabo203.lzh 
上(掲示板CGI)に下(ランダム広告CGI※呼び出しによりSSI使用しない方)を設置したいのですが『インターネットサーバーエラー』になります。(;_;)
一通りパーミッション設定などを説明どうりやってみたのですが設置できないんです。。(;_;)なぜでしょう??(;_;)
どうか教えていただけないでしょうか。。(;_;)
また呼び出しのときの記述が『require 'rand.pl';  rand::main($Op1,$Op2,$Op3);』を記述しろと書いてあったので正確に記述したのですが『インターネットサーバーエラー』になってしまうんです。。(;_;)
『$buffer』でも記述したんですがだめでした。
http://taihei.cc/pc/cgis/random.html
http://taihei.cc/pc/cgis/randban11.lzh
0562WebProg板初カキコ02/08/15 20:18ID:???

「買い物かごに入れる」

というふうなボタンがついていて
オンラインで購入できるようなページは
CGIで作られているのでしょうか?
0563nobodyさん02/08/15 20:36ID:???
>>561=マルチ
0564nobodyさん02/08/15 20:57ID:???
>>562
うん。

CGI RESCUE の ショッピングバスケットプロ とか
http://www.rescue.ne.jp/
0565nobodyさん02/08/15 21:00ID:???
>>562
CGIだけじゃないけどね。
0566 02/08/15 22:24ID:Sv5BCHdr
ERROR:長すぎる行があります!
↑
コレ追加したいのですが。。。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
0567nobodyさん02/08/15 22:29ID:???
ハァ?
0568nobodyさん02/08/15 22:54ID:???
>>566
そんな質問で意図がわかるか。アフォ。

if(($CHECK{'body'}==1)&&($body eq '')){$error_message .= "本文がありません。<BR>";}
elsif (($CHECK{body}==1)&&length((sort{length$b<=>length$a}split/\r\n/,$body)[0])>100)
{$error_message .= "ERROR:長すぎる行があります!<BR>";}
こういうことか?
0569nobodyさん02/08/15 23:38ID:???
if(length($FORM{'subject'}) > $SETTING{"BBS_SUBJECT_COUNT"}){
    DispError("ERROR!","ERROR:サブジェクトが長すぎます!");
}
if(length($FORM{'FROM'}) > $SETTING{"BBS_NAME_COUNT"}){
    DispError("ERROR!","ERROR:名前が長すぎます!");
}
if(length($FORM{'mail'}) > $SETTING{"BBS_MAIL_COUNT"}){
    DispError("ERROR!","ERROR:メールアドレスが長すぎます!");
}
if(length($FORM{'MESSAGE'}) > $SETTING{"BBS_MESSAGE_COUNT"}){
    DispError("ERROR!","ERROR:本文が長すぎます!");
}
if(length($FORM{'MESSAGE'}) == 0){
    DispError("ERROR!","ERROR:本文がありません!");
}
#行数&行長さ制限
my @msg = split(/ <br> /, $FORM{'MESSAGE'});
my $cnt = @msg;
if($cnt > ($SETTING{'BBS_LINE_NUMBER'} * 2)){
    DispError("ERROR!","ERROR:改行が多すぎます!");
}
foreach(@msg){
    #$cnt = tr/[\041-\177]//;
    if(length($_) > 256){
        DispError("ERROR!","ERROR:長すぎる行があります!");
    }
}
$FORM{'MESSAGE'} =~ s/<br> <br> <br> <br>/<br> <br> <br>/g;
0570nobodyさん02/08/15 23:46ID:???
今PC用の掲示板設置してるんですけどこれを携帯からも閲覧、書き込みできるようにしたいのですができますか?
0571nobodyさん02/08/15 23:49ID:???
出来る。
0572nobodyさん02/08/15 23:52ID:???
どうしたらいいでしょうか?
0573名無しさんに接続中...02/08/16 00:03ID:???
聞くだけじゃなく、考える事も大事だと思うのだが。
第一に、元々携帯に対応した掲示板使えば早かろうと。
0574nobodyさん02/08/16 02:09ID:???
今の掲示板をどうしてもそのまま使いたいのです…。
0575nobodyさん02/08/16 09:39ID:???
>>574
で、自分でどこまでやってみたのさ?
携帯向けでまず気にするのは1ページのサイズを抑えることだろ。
iモード、J-SKY、ezWebが1ページ何バイト以内なのかぐらい調べたのか?
1ページに表示する発言を減らすとか、無駄なタグ削るとか、何かやってみろ。
0576nobodyさん02/08/16 13:47ID:r3LEM9ym
スレ違いだったらすんません。

apebaordスキンかunicoスキンのどっちかを使おうと思ってるんですが、
どっちの設置方法のほうが簡単なんでしょうか?
unicoの方が比較的簡単と聞いたんですが。

ショボイ質問で本当に申し訳ない。
0577nobodyさん02/08/16 15:12ID:???
もう時代遅れですか?
0578ひよこ名無しさん02/08/16 15:21ID:???
>>577
そんなことより 聞いてくれよおっちゃん
このサイト面白いぞ 小一時間ワラタ
http://www.ogaki-tv.ne.jp/~zeus/
0579nobodyさん02/08/17 04:06ID:qkaHYdxT
何か始めてみたいんですけど、手始めに何から始めたらいいんでしょう?
OSはウィンドウズ、HTMLがちょこっと書けるくらいのスキルしかないです。
0580nobodyさん02/08/17 07:49ID:???
>>579
CGIで何をやりたいの?まずはそこからでしょ。
0581nobodyさん02/08/18 13:20ID:???
>>576
質問の意味が分からん。分かりやすく書け

KENTのY!BBS風の掲示板だっけ?
あれ見に行ったけど、クレクレ帽が多すぎ
KENTもよくやるよな・・・
0582nobodyさん02/08/19 12:13ID:h1gbkZ0X
質問

こちらで発行したIDやパス等の登録情報を管理するCGIを作っていて、
登録情報専用のディレクトリのファイルリストを表示する中に
そのリスト中のファイルの最終更新時刻を取得する部分があるんだけど、
「.」「..」を除いて全てがThu Jan 1 09:00:00 1970になってしまいます。

色々試しているとどうやらCGIを置いているディレクトリ以外の
ディレクトリをオープンするとそうなるらしく、
CGI本体をオープン先のディレクトリに移動すると問題無く動作します。

しかし登録情報を置いたディレクトリにCGIを置くのは出来る限り避けたいのです。
何か良い方法はありませんでしょうか?
あるいは何らかの手落ちでこういった状態になるのであれば、それも教えて頂けると幸いです。
0583nobodyさん02/08/19 12:42ID:???
>>582
最終更新時刻を取得するCGIをデータディレクトリに入れて、
他のディレクトリのCGIから時間取得のCGIを操作してやれば?
0584nobodyさん02/08/19 13:40ID:h1gbkZ0X
そうですね・・
何かいい方法はとは言ってもそれ位しか選択肢ありませんよね
とりあえず仰せの通り別ファイル化で対処しておきます
0585nobodyさん02/08/19 15:12ID:h1gbkZ0X
追記ですが、自己解決しました。
chdirで作業ディレクトリを移動させる事によって、
別ディレクトリのファイルの時刻を取得出来るようになりました。

CGIを分離する必要も無くなりました。
(というより別ファイルにしてもカレントディレクトリは変わらない為意味がなかった)
0586nobodyさん02/08/19 15:51ID:???

ご質問です。

CGIと同じかそれに近いディレクトリにMicrosoft Accessがあるとします。

CGIからMicrosoft Accessにアタッチする事は可能なんでしょうか?
可能であれば、その方法が記載されているURLなんぞを教えて貰えないでしょうか?
もしくはサンプルでもあれば非常に助かります・・・

Googleで検索もして見たんですがなく、、、
上記って特殊なやり方なんでしょうかねぇ・・・
058758602/08/19 15:56ID:???
ASPとかではないです。
普通のプロバイダが無料でくれるスペースでのお話です。

・・・ダメ?
0588nobodyさん02/08/19 17:41ID:???
>>586
自分の質問に「ご」は付けません。「質問」が正しいです。
0589nobodyさん02/08/19 17:42ID:???
>>587
プロバイダが無料でくれるスペースにMicrosoft Accessがあるところがあるの?
サーバがWindows系のプロバイダってどこ?
0590nobodyさん02/08/19 21:56ID:???
Access自体は入って無くても問題はないがな
0591nobodyさん02/08/19 22:16ID:???
>>586

特殊なんじゃなくて検索の仕方が悪いに全部。
0592nobodyさん02/08/19 23:23ID:RiRw9vU9
既出だったらすいません。

ランダムで背景画像を変えたくて、
5つの違うCSS(background-imageのみ記述してあります)
をランダムで選び、それをタグに書き出したいと思うんですが
[an error occurred while processing this directive]
とエラーが出てしまいます。

$dir = 'home/自分のID/public_html/nantoka/style';
$url = 'home/自分のID/public_html/nantoka/style';

opendir(DIR, "$dir") || die "Can't open: $dir";
@data = grep(!/^\.\.?$/, readdir(DIR));
closedir(DIR);

srand(time|$$);
$style = $data[rand(@data)];
print qq(<link rel="stylesheet" type="text/css" href="$url/$style">);

exit;

これを、index.shtmlから
<!--#exec cgi="home/自分のID/public_html/nantoka/randomimg.cgi" -->
と呼び出しています(CGI本体とindex.htmlは同じディレクトリにあります)。

dirは使える鯖と使えない鯖がある、という話は聞いたことがあるんですが
どこかおかしな所があったら、教えていただけないでしょうか・・・
0593~02/08/19 23:34ID:???
取りあえず そのスクリプトがshellからまともに動くことを確認シル
0594nobodyさん02/08/19 23:44ID:hYzoL+XK
お聞きしたいのですが、
perlからphpをincludeのようなことはできますでしょうか?
また、逆にphpからperlプログラムを呼び出して変数を受け取ったりできますでしょうか?

もうひとつお聞きすると、
perlで既に年月日の形になっているものからLinux標準時間に戻す関数はないのでしょうか?

よろしくお願いします。
0595 02/08/19 23:52ID:???
できます。
できます。
あります。
059659402/08/19 23:55ID:hYzoL+XK
よろしければ詳しくお願いしますm(__)m
059759202/08/20 00:14ID:???
Kcatchを使用したら、
[rand_img.cgi:17:die] Global symbol "$dir" requires explicit package name.
Global symbol "$url" requires explicit package name at (eval 1) line 17, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "$dir" requires explicit package name at (eval 1) line 18, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 20, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "@data" requires explicit package name at (eval 1) line 24, <DATA> line 27.
Global symbol "$url" requires explicit package name at (eval 1) line 25, <DATA> line 27.
Global symbol "$style" requires explicit package name at (eval 1) line 25, <DATA> line 27.
となりました。
この「requires explicit package name」とは具体的にどういう意味なのですか?
0598nobodyさん02/08/20 00:56ID:???
>>597
Cやったことある?
要するに、「定義されてない変数が出てきたよ」ってこと。

my ($dir, $url, @data, $style);
とかやるか、(推奨)

use strict;
↑の行を探して削除するか、どっちか。
059959202/08/20 01:16ID:???
16行目に my($dir,$url,@data,$style); を挿入したら
Global symbol 〜 についてのエラー表示は出なくなりました。以後気をつけます。
593さん、598さんありがとうございました。

しかし、
[rand_img.cgi:21:die] Can't open: home/自分のID/public_html/nantoka/style.
は依然として残っています。
これは home/・・・/style ディレクトリを開くことが出来なかったということはわかるのですが
なぜ開けないのでしょうか・・・
パーミッションのチェックはしましたが、問題はありませんでした。
教えて君ですいません。
0600nobodyさん02/08/20 01:19ID:hbbe/bFq
 
0601nobodyさん02/08/20 01:40ID:???
>>592
そもそもJavaScriptを使えよ、と思ったのは私だけですか?
0602nobodyさん02/08/20 01:51ID:???
自分でも多分違うと思います。

JavaScriptのほうがややこしいと思っていたら
CGIも結局2chで聞いている現状という罠
0603602=59202/08/20 01:52ID:???
です
0604nobodyさん02/08/20 02:59ID:???
>>599
>パーミッションのチェックはしましたが、問題はありませんでした。

は・は・は(大爆笑
0605nobodyさん02/08/20 11:32ID:???
>>592
homeの前にスラッシュはいらないのだろうか。
0606nobodyさん02/08/20 18:13ID:???
>>605
0607nobodyさん02/08/20 19:38ID:???

CGIには直接関係ないのですが、2chのあるスレに自動で
保全書き込みを行うPerlスクリプトをSJISで書いたのですが、
書き込みしようとすると SJISでかいてちょ。とか 文字化けしちゃうよ。
とか却って来ます。
どーすればいいのでしょうか?

$ua = new LWP::UserAgent;
$head = new HTTP::Headers;
$head->header( 'Content-type','text/html; charset=Shift_JIS');
$body = "FROM=$name&mail=$mail&MESSAGE=$message&bbs=板名&key=スレッドID";
$req = new HTTP::Request( 'POST', $BBSCGI, $head, $body );
$res = $ua->request($req);
print( $res->content );
0608nobodyさん02/08/20 20:53ID:???
>>607
あげ2chか?

SJISでかいてちょ。
って書いてるんだからSJISで書けよ
ヴァカ??
0609nobodyさん02/08/20 20:59ID:???

>608
氏ね
0610nobodyさん02/08/20 22:31ID:???
CGIの技術を学ぶためには、全くの基礎からやり始めるにはやはり書籍を参考に
するのが良いですかね? 何からやりはじめればCGIを操れるようになりますかね?

プロの皆さんは何の知識を得ることからはじめましたか?
0611nobodyさん02/08/20 23:08ID:???
他人のソースを見る。
0612nobodyさん02/08/21 06:23ID:???
素人ですが、KENT氏のbbsを見ることから始めました
0613ヤッシー ◆akL9r.oU 02/08/21 15:11ID:BtbltLri
質問です。
$form = $FORM{'form'};
$log =~ s/$form/<b>$form<\/b>/g;

print $log;

$logに、ログファイルから読み込んだ全データをぶち込んで、
$logに、ユーザーがフォームから送信してきた$formの文字列が含まれていたら、その文字列を太字にして表示する、という仕組みのCGIを作りました。
ここまでは完成したんですが、$logを、英数大文字・小文字関係なく検索させたいんです。
どうすれば、大小文字関係無く検索できるようになりますか?
お返事よろしくお願いします。
0614ヤッシー ◆akL9r.oU 02/08/21 15:25ID:BtbltLri
>>610
僕も>>612さんと同じように、KENT氏製掲示板を見たりこぴぺしてどう稼動するのか確かめて覚えてきました。
http://tohoho.wakusei.ne.jp/wwwperl1.htm
とほほ氏のページです。色々なプロの方が読まれているようです。
http://tohoho.wakusei.ne.jp/wwwperl2.htm
リファレンスは、多少慣れてきたらど〜ぞ。
0615nobodyさん02/08/21 15:30ID:???
>>613
i
0616ヤッシー ◆akL9r.oU 02/08/21 15:51ID:vNJ2y6lW
i…?
すみません、リファレンスで検索しても見つからないので、わかりません。
もうすこし詳しく教えていただけませんでしょうか…すみません。
0617nobodyさん02/08/21 16:45ID:???
もっと探せ。
0618nobodyさん02/08/21 16:53ID:???
$log =~ s/$form/<b>$form<\/b>/ig;
0619マム02/08/21 19:11ID:AE2ns9S9
はじめまして。今回初めてメールをさせていただきます。
MIDIを公開するためにジュークボックス的なCGIを導入したんですが、一つわからないことがあるので教えて欲しいのです。

使ったCGIは、大黒屋本舗さんの BGM++ というCGIなんですが、http://ohgro.pos.to/perl/bgm/bgm.cgi  このウィンドーを最小化すると、音が消えてしまうのです。そして、ウィンドーを元のサイズに戻すとまた音が再生されるのです。

実は、こういうJukebox的なCGIを探していて、もう一つ候補がありました。
POKEMON ENTERNAL さんの自作CGIでjukeboxというのがあります。
http://pme.cool.ne.jp/
のサンプルページが、http://pme.cool.ne.jp/download/jukebox/jukebox.cgi です。
こちらで配布されているものは、ウィンドーを最小化してもちゃんと音がなっているのです。

これは何をどうしたら違いが出るのか、調べても調べてもわからなくて、、、
それで今回こちらで質問させていただいたのです。
使いたいCGIは、大黒屋さんの方を使いたいと思っているのですが、どこをどういう風にしたら
音が停止しないようになるのか教えてください。宜しくお願いします。
0620nobodyさん02/08/21 19:19ID:???
>>619
つーか、HTMLレベルの問題だろ。
0621nobodyさん02/08/21 19:22ID:S1N5lHPt
質問です。NT4.0+IIS+ActivePerlでSQLServerに接続するcgiをWEBで表示したいです。
DBI,DBD::ODBCで接続でき、コマンドプロンプトで実行すると結果が表示されるのですが、WEBからアクセスすると「'C:\wwwroot\cgi-bin\test.cgi' script produced no output 」と表示されます。
多分IISの設定だと思うのですが、変更箇所が分かりません。
よろしくお願いします。
0622nobodyさん02/08/21 19:29ID:???
>>619
スレ立てた後に、よくこんなトコで聞けるよな
0623マム02/08/21 21:54ID:AE2ns9S9
教えてください。それだけなんです。。
教えていただいたら、すぐに消えます。HTMLの問題であれば、どういう風にすれば
いいのか、それだけを教えてください。
お願いします
0624nobodyさん02/08/21 21:58ID:???
>>619
BGSOUNDとEMBEDの違い。
板違いにつきsage
0625nobodyさん02/08/21 22:09ID:???
>>623
この板はサーバサイドプログラミングの話をするところなの。
それぞれの板で専門分野が決まってて、そこで話すのがルールなの。
HTMLの話は↓でしてるよ。
http://pc3.2ch.net/hp/
ルールは守ってね。
0626マム02/08/21 22:22ID:AE2ns9S9
結局わからないだけなのね。残念だわ
0627nobodyさん02/08/21 22:28ID:???
>>626
捨て台詞はいいからサッサと消えろよオマエ。
0628マム02/08/22 03:35ID:cGCA+Ih9
>> 624さんへ

ありがとうございました。あなただけでした。ちゃんと回答してくれたのは。
624さんには大変感謝です。問題も解決しました。
こんな2ちゃんねるみたいなところでもちゃんと回答してくれる人がいるん
ですね。お礼だけ言わせてください。
ありがとう624さん。

あと、なんかこの2ちゃんねるの板のルールもわかんないで書き込んだので
私も悪かったです。今日はじめて書き込みしたんで。
とにかく624さんには感謝してます。ありがとう
0629nobodyさん02/08/22 05:41ID:???
なぜ初心者は自分の行動が間違っていることを理解しないのだろう。
0630nobodyさん02/08/22 06:15ID:???
自作自演に気づけ!
0631nobodyさん02/08/22 15:21ID:OD++zTqz
あのぉ〜、iswebで画像up掲示板を設置しました。
んで、普通に投稿ボタンを押したら「設定エラー.データ保存用ファイル$tmp_file"が見つかりません.自動作成を試みましたができませんでした。
処理は中断されました.」って出ました。cgi-binのフォルダの中にcgiとか置いてるし
パーミッションもちゃんと設定されているハズなんですが・・・。
どうすればいいでしょうか?
0632nobodyさん02/08/22 15:29ID:???
>パーミッションもちゃんと設定されているハズなんですが・・・。
ディレクトリって分かるか?
ファイル作るディレクトリの権限を757にするか実行ファイルをsuid
0633nobodyさん02/08/22 15:34ID:OD++zTqz
suidってなんですか?すいど?
0634nobodyさん02/08/22 15:34ID:OD++zTqz
ディレクトリもわかりません。何回か見たことあるけど
0635nobodyさん02/08/22 15:39ID:???
>suid
だったら気にするな
>ディレクトリ
フォルダの事、検索な
http://www.google.com/search?q=%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA&sourceid=opera&num=100&ie=utf-8&oe=utf-8

これ以上やると荒れそうだから退散する
0636nobodyさん02/08/22 15:50ID:???
すまん、余りに不親切だ
FTPで、upboard.cgiとかのパミを設定しただろ? 755とか701に?
それと同じ様に cgi-bin/hogehoge/ と設置したのなら
hogehogeのパーミッションを緩めて行けば良いよ
それでもダメならcgi-binから順番に緩めて行くといい
頑張れよ、もう書かないから
0637nobodyさん02/08/22 16:05ID:???
imgboard.cgiなら
img-boxフォルダの属性を777
0638超初心者02/08/22 16:41ID:???
すいません、http://tolkien.s7.xrea.com/test/read.cgi/jikken/1026137983/
で配布されている物を設置したくhttp://www.xrea.com/にアカウントをとって
うpしたんですが、うまくいきません。
今現在http://camion.s15.xrea.com/x/test/admin.cgiなっています
パーミッションはフォルダ:755 .cgi.pl:700です
いったい何がいけないのでしょう?
0639nobodyさん02/08/22 16:59ID:???
>>638
配布元で相談に乗ってもらいつつマルチポストですか。豪気だねぇ
0640超初心者02/08/22 17:06ID:???
ゴメソ気を付けます
0641nobodyさん02/08/22 17:08ID:???
まあガンガレ漏れも昔はさっぱり分からんかったよ
0642nobodyさん02/08/22 17:11ID:???
Error Message: No such file or directory
Error Number: 2

て、そのまんまの意味では。
0643スクリプトエラー02/08/23 17:49ID:uC6hG1Tt
初めまして。

プログラムをWEBサーバにアップすると「ScriptError」と表示されてしまい動かないのです。
自分のノートパソコンではきちんと動いてくれるのですが・・・・・。どのような事が原因でこのような事が起こるのでしょうか?。
0644nobodyさん02/08/23 17:50ID:N5Ib5rbJ
CGIで特定のホスト名を別のページに飛ばす、アクセス制限みたいなことをするやり方を
教えてください。
何回かやったけど無理でした。
0645nobodyさん02/08/23 18:13ID:???
>>643>>644
原因を特定するために
何のプログラムで
どのようにしたら
どの段階で
どうなったかを書き込むヨロシ
0646nobodyさん02/08/23 18:29ID:N5Ib5rbJ
#! /usr/local/bin/perl

$url = http://○.com;
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if (host_name = *******) {
print "Location: $url";
exit;

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name;
}

0647スクリプトエラー02/08/23 18:51ID:uC6hG1Tt
>>645
掲示板に書かれた言葉を置換するCGIプログラム(Perl)です。
http://dosv.s10.xrea.com/test/keijiban-hyouji_cgi.txt
http://dosv.s10.xrea.com/test/keijiban-toukou_cgi.txt
0648nobodyさん02/08/23 18:57ID:???
>>646

× $url = http://○.com;
○ $url = 'http://○.com';

× if (host_name = *******) {
○ if ($host_name = *******) {
0649648 訂正02/08/23 18:58ID:???
× if (host_name = *******) {
○ if ($host_name eq '*******'){
065064402/08/23 20:07ID:N5Ib5rbJ
648,649のとおりにやりましたが
http 500 鯖エラーが出ます。
なぜでしょう?
0651nobodyさん02/08/23 20:25ID:???
× print "Location: $url";
○ print "Location: $url\n\n";

これかな?
0652nobodyさん02/08/23 20:34ID:???
>>647
なんか FORM 作るの面倒だから試してないけど。
動くみたいだから、転送に失敗したか、パーミッションくらいしか思いつかん。

にしても >>646 さんは優しいのね。
065365202/08/23 20:44ID:???
横槍ですが } が足りないデショ。
$url = "http://○○.com";
$getout = "http://××.com";
$host_name = &GetHostName($ENV{'REMOTE_ADDR'});
if ($host_name eq $getout) {
print "Location: $url\r\n\r\n";
exit;}

sub GetHostName {
my($ip_address) = @_;
my(@addr) = split(/\./, $ip_address);
my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
my($name, $aliases, $addrtype, $length, @addrs);
($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
return $name; }
■ このスレッドは過去ログ倉庫に格納されています