CGIだけど、なんか質問ある? Part 9
■ このスレッドは過去ログ倉庫に格納されています
0001ななし ◆E6qQ.htN7o
03/01/03 02:56ID:H5ub4PWW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part18
http://pc.2ch.net/test/read.cgi/php/1037797479/l50
過去ログ・関連スレッドは >>2-5 あたりに
0268nobodyさん
03/02/05 13:32ID:/TzrVcwr$num{"$str"} = 0;
}
else{
$num{"$str"} = $FORM{"number$count"};
}
とは何をやっているのですか?
初心者で厨な質問で申し訳ないです
お願いいたします
0270_
03/02/05 14:35ID:KqDONkoEif文の意味なしと思われ。
$num{"$str"} = $FORM{"number$count"};
0272nobodyさん
03/02/05 15:45ID:???( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>271
0273nobodyさん
03/02/05 21:06ID:tr4FI/E+Perlで、use IO::Socketを使って、
2chを読んで加工して表示するCGIを作っているのですが、
板自体
http://pc2.2ch.net/php/
は読めるのですが、
http://pc2.2ch.net/test/read.cgi/php/1041530204/l50
などのCGIが出力するスレが読めません。
Found
The document has moved here.
が帰ってきます。どうすれば読めるようになりますでしょうか?
ヒントでも構いませんので、よろしくお願いします。
0274nobodyさん
03/02/05 21:15ID:???0275nobodyさん
03/02/05 21:32ID:gt7kwXPU@niftyでmethod=POSTが使用できるのでしょか?
いろいろ見てはいるのですが解らなかったので
おしえてくほしいです
0276nobodyさん
03/02/05 21:36ID:???0277275
03/02/05 21:53ID:gt7kwXPU0279275
03/02/05 22:00ID:gt7kwXPUBBS設置できなくてこまってるんでつよ・・・
0282280
03/02/05 22:03ID:???確か@niftyはそういう制限があったはず。
0283275
03/02/05 22:11ID:gt7kwXPU二つひつようなもんで
専用の場所に置いて専用のURLでアクセス
してるんですが、えらーになるんですよ
0284273
03/02/05 23:15ID:tr4FI/E+2chを取得する>>273の件ですが、
Headerを取得してみたところ、
head pc2.2ch.net /test/read.cgi/php/1041530204/l50 80
HTTP/1.1 302 Found
Date: Wed, 05 Feb 2003 14:11:00 GMT
Server: Apache/2.0.44 (Unix) mod_perl/1.99_07-dev Perl/v5.8.0 mod_ssl/2.0.43 OpenSSL/0.9.6g DAV/2 FrontPage/5.0.2.2624 PHP/4.3.0RC3 mod_gzip/2.0.26.1a
Location: http://binbo8.he.net/cgi-bin/error500
Connection: close
Content-Type: text/html; charset=iso-8859-1
となってLocationに期待のものが入ってません。
GETはhostだけ渡してますが、なにかやり方がマズイのでしょうか。
0285nobodyさん
03/02/05 23:29ID:???$ telnet pc2.2ch.net 80
HEAD /php/ HTTP/1.0
Host: pc2.2ch.net
うしし。
0286nobodyさん
03/02/05 23:48ID:???0287273
03/02/05 23:55ID:tr4FI/E+monazillaってとこに言ってきたら、read.cgiの仕様が解説してあって
print $SOCKET "GET $path HTTP/1.0\r\n";
print $SOCKET "Host: $host\r\n";
print $SOCKET "Connection: close\r\n";
print $SOCKET "User-Agent: dummy\r\n";
print $SOCKET "Accept: */*\r\n";
print $SOCKET "Accept-Language: ja\r\n";
print $SOCKET "\r\n";
したら見事読みました!
0288nobodyさん
03/02/06 06:20ID:???ttp://homepage2.nifty.com/yoshi-m/makehp/free_cgi/CGI/counter/now_counter.html
↑上記のサイトにある閲覧者カウンター(現在の訪問者数を数えるCGI)の設置を
試みています。無事、設置できたのですが、同一IPアドレスをチェックする機能が
ついていないので、GOOGLEなどで検索して調べて同一IPのカウントを制限するような
改造を試みたのですが、どうにもうまくいきません。
バカな質問かもしれませんが、どなたか、どうしたら上手くいくかご教授お願いでき
ないでしょうか?
0289nobodyさん
03/02/06 07:04ID:???具体的にどうやって、どううまくいかないのかを書いてくれないと。
1から10まで手取り足取り教えてもらえると思ったら大間違いだよ。
0290nobodyさん
03/02/06 08:54ID:???1から10まで手取り足取り教えてほしければこちらへ
【 スクリプト改造工房 PART 5 】
http://pc2.2ch.net/test/read.cgi/php/1028193595/
やってくれる人がいるかどうかはしらんが。
0291nobodyさん
03/02/06 12:48ID:???いまいちわからないんですが、例えばフォームのvalueで指定した文字(変数?)は
$変数名にそのまま反映するんでしょうか?
初歩的なことを聞いてスマソです。
誰か教えて下さい〜。。もう一人じゃだめぽ。。
0294nobodyさん
03/02/06 13:58ID:???0296nobodyさん
03/02/06 17:08ID:???IMPORTING ALL PARAMETERS INTO A NAMESPACE:
$query->import_names('R');
This creates a series of variables in the 'R' namespace.
For example, $R::foo, @R:foo. For keyword lists, a vari-
able @R::keywords will appear. If no namespace is given,
this method will assume 'Q'. WARNING: don't import any-
thing into 'main'; this is a major security risk!!!!
最後の1行は、つい最近までPHPのデフォルトの動作だった。
PHPはそんなもんなんだよ。
0297nobodyさん
03/02/06 21:19ID:s4S7/zxSそのメールの中身を解析して適切な答えを返す&HTML生成してくれるものは
ありますか?
0299nobodyさん
03/02/06 21:36ID:s4S7/zxS0302nobodyさん
03/02/06 21:55ID:s4S7/zxS肝心なのはその後で、自動に受信したメールの本文を自動に解析し、
適切な答えを返信する&HTML生成してくれるものを探しています。
0303nobodyさん
03/02/06 22:06ID:???0305nobodyさん
03/02/06 22:23ID:s4S7/zxSアドバイスありがとうございます。
http://pc2.2ch.net/test/read.cgi/php/1041564353/266-
0306nobodyさん
03/02/08 14:13ID:P3EB+0+g以下のような仕様は有名なものなのでしょうか?
あるページAではフレームを切って、
Bという、CGIで作られたサイトを(Aの一部に)表示している。
この時、Bに渡される環境変数HTTP_REFERERは、Perl式で書くと
Win IE6では$ENV{'HTTP_REFERER'}はAのURL。
Mac IE5では$ENV{'HTTP_REFERER'}はundefined。
なぜWinとMacで違うんでしょう。RFCとかでは既定されてないのかな。
0307nobodyさん
03/02/08 14:28ID:n3LLA3DF★もうすぐ春ですよ★
0309nobodyさん
03/02/09 00:27ID:???print $#t;
とすると2ではなくて0と表示されるのは普通?
漏れの環境がオカシイの?
半角スペースでjoinすると、ぴっちり繋がるもんなん?
0310309
03/02/09 00:39ID:???0312nobodyさん
03/02/09 03:56ID:???削除した覚えはないのだが??
今までCGIのチェックに使ってきて何の問題もなかったんだけど、不思議。
つい2,3日前までanhttpd使ってて、今日PHPをapacheのモジュールで
動かしてみようとwindows用のapache(以前入れて放置してあった物)を
いじってたらperl/CGIが動かない。
PHPは正常に動くのになんでかな?と思いつつ、パス関係かなとperl.exeを
探したら??無い。あれ?って思ってanhttpdを起動したら昨日まで異常なかった
Perl/CGIがエラーに・・・。
なんでじゃ〜?不思議でしょうがない。こんな事ってあるんだろうか?
0313nobodyさん
03/02/09 04:01ID:???私の場合は削除はされてなかったんで、パスの指定し直したら直った。
まぁ、Perl再インストールすれば大丈夫じゃないの?
ついでに最新版確認してきてね。
0314nobodyさん
03/02/09 04:55ID:???ちなみに他ディレクトリで解凍してから、C:\php にコピーして設定という方法で
インスコした。
0316nobodyさん
03/02/09 23:57ID:Xc8YBGxY今までPerlでCGIやってたんですが、C言語でCGIを動かそうと思ってます。
色々サイト巡ってとりあえずCygwinをインストールしました。
しかし、Apacheの設定がどうしても分かりません。
Windows+ApacheでC言語のCGIを動かすための説明があるサイト等、
紹介してもらえないでしょうか。
0318nobodyさん
03/02/10 00:05ID:???Perlで書いたものが動けば問題なく動くはずだけど。
コンパイラはcygwin上のgccよりもVC++やBCCの方がいいと思う・・・
0319nobodyさん
03/02/10 00:18ID:VClzLIdP>>317
すみません、不勉強なもので意味が分かりませんでした;
差し支えなければ、もう少し具体的に教えて頂けないでしょうか。
>>318
あ、そうだったんですか・・・(恥
BCCはC言語の勉強に前から使ってたんですが、
どうやってCGIとして動くようにすればいいのかが分からず・・・
gccだと gcc -o test.cgi test.c みたいに実行するようなこと書いてあったんですが
BCCの場合はどうすればいいんでしょうか。
0321nobodyさん
03/02/10 00:27ID:VClzLIdPprintf("Content-type: text/plain\n\n");
printf("Hello, World!");
をBCCでコンパイルし、.cgiにリネームしてウェブ鯖で実行したところ、
ダウンロードダイアログが開いて、
落としたのは「Hello, World!」と書かれたテキストファイル.cgiでした・・・
何故ブラウザで開かれないんでしょうか・・・
0324nobodyさん
03/02/10 00:32ID:???すみません、書き込み直後気付いてtext/htmlにしたらちゃんと出来ました。。
皆さんどうもありがとうございました!
0326nobodyさん
03/02/10 00:34ID:???0328325
03/02/10 00:44ID:???手持ちの「Per;/CGI入門教室」とか言う本も、
最初のとこはtext/plainでやってます。。。
0331nobodyさん
03/02/10 11:46ID:???0332nobodyさん
03/02/10 18:34ID:???両方とも1つのcgiを改造して作成しました。
それをローカルでテストすると上手く動くのに
サーバーにアップしたら片方はエラーで動かないんです。
もちろん1行目やパーミッションも同じように設定してます。
何が原因なんでしょうか・・・。
0335312
03/02/11 01:19ID:???消滅する前にとあるソフトをインストールしたんですが、そのとき
インストールする前にインストーラーの
「インストールが完了していません。続けますか、やめますか?」
のエラーダイアログが出てそのメッセージをキャンセルしたんですよ。
それがactive perlをインストールした時のものだったわけです。
つまり、前のactive perlが完全にインストールされてなくて、
(インストール時にPCが固まったか何かで)半端なまま使ってたって事です。
それでインストールをキャンセルしたために、使ってたperl.exeが削除
されてしまったって事ですな。
0336312
03/02/11 01:24ID:???>>313
バージョンは5.6.1 build 633 と5.8.0 build 804 ってのが
あったんですが、違いがよく分かんないのでどっちでもいいやって
事で5.8.0 build 804 の方をインストールしてみました。
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl
0337nobodyさん
03/02/11 22:44ID:VNfk5QCU今度セキュリティレベルを高める、という話になりました。
で、やりだまに上がったのがCGIのファイル中に記述してあるDBユーザ/パスワード。
これを別ファイルにするとか言ってるんですけど、意味あるんでしょうか??
皆さんは、こういう場合どうやってますか?
教えてくださいませ。
0339nobodyさん
03/02/11 23:07ID:VNfk5QCUそれともできちゃうもんなんですかね?
0340nobodyさん
03/02/11 23:17ID:???たとえば、SuEXECを導入しているとすると意味がある。
実行ファイル *.cgi のパーミッションは701にして、
それ以外の *。pl などは600にする。DBに渡すパスワードとかはこの*.plの方に記述しておけば、
ゲストユーザーからは*.plを実行したり読み出したりする権限はないので、
セキュリティは保たれる。
0341337
03/02/11 23:50ID:VNfk5QCUよく理解できました。ありが�d
0342さ迷える子羊
03/02/12 02:22ID:???毎週メールを送ることになりました。
サーバは専用cobaltRAQ4でWEBと併用、言語はPerlなのですが、
下記のように考えております。
自分のいくつかあるメールアドレスに計2000通とか送って実験したのですが
結構時間がかかります。
効率のよい方法はありませんでしょうか?
qmail,Postfixにするとかではなく、あくまでもperl内で。
for(@member){
会員の情報をげっと = split();
$mail = ヘッダと内容を作る;
&jcode::convert(\$mail,"jis","sjis");
if( !open(MAIL,"|$sendmail -t") ){ &error('sendmail'); }
print(MAIL $mail);
close(MAIL);
}
0343nobodyさん
03/02/12 03:58ID:???できても微々たるものかと。
大きそうなのはconvertくらい?
qmailやpostfixが嫌ってことは、sendmailでやりたいってことでいいのかな?
smtpfeedとかいうのがあるから調べてみるといいかも。
0344さ迷える子羊
03/02/12 13:23ID:???qmail、postfix、smtpfeed等ですが嫌いなわけではないのです。
専用サーバなのにsuを頂けない状態なので、
インストールは「お金を払って頼む」しか手段がありません。
以前ImageMagick入れてもらうだけで10万近くかかりました。
ですので、ソフトのインスト−ルは見合わせております。
個人のお金ではないのですが、ちょっと高すぎて躊躇します。
0345nobodyさん
03/02/12 15:43ID:???> if( !open(MAIL,"|$sendmail -t") ){ &error('sendmail'); }
自力で SMTP 喋るようにすれば、少なくとも sendmail を
立ち上げる負荷は無くなる。
Socket.pm (Perl の標準モジュール) くらいはサーバにも
入ってるだろ?
0351346
03/02/13 13:58ID:???PORT番号を取得してソケット生成して・・・・・
って、あまりまだ調べてないのですが。
0352nobodyさん
03/02/13 15:26ID:???その方向で合ってるよ。
ちなみに SMTP のポート番号は通常 25。
詳しくは RFC 2821 な。
ttp://www.puni.net/~mimori/rfc/menu.html
0354nobodyさん
03/02/13 17:41ID:???0358nobodyさん
03/02/13 21:32ID:???0361nobodyさん
03/02/14 03:37ID:???0362344=346
03/02/15 04:08ID:???さらなる情報ありがとうです。後日調べたいと思います。
>専鯖ならともかく、共有鯖だったらやんないでね。
明記の通り専用サーバですのでガンガンメール送ってみたいと思います。
ってほど会員増えないと思いますけど。
ちなみに戦闘力調べたら、1分で250通前後でした。
しかしながら4種類のメールに対して複数送っているので、
実際はそれ以下か・・・・・(´・ω・`)ショボーン
0364nobodyさん
03/02/15 09:31ID:???0366nobodyさん
03/02/15 13:04ID:WKdky/xD■ このスレッドは過去ログ倉庫に格納されています