CGI: Common Gateway Interface part 11
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
03/06/14 22:26ID:F9qlqHNx※CGIは特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perl 初心者コーナー Part24]
http://pc2.2ch.net/test/read.cgi/php/1054992610/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[WebProg 初心者の質問 Part3]
http://pc2.2ch.net/test/read.cgi/php/1045091733/
過去ログ・関連スレッドは >>2-5 あたりに
0002nobodyさん
03/06/14 22:26ID:F9qlqHNxPart 4 http://pc.2ch.net/php/kako/1000/10008/1000804655.html
Part 5 http://pc.2ch.net/php/kako/1009/10093/1009331505.html
Part 5.01 http://pc.2ch.net/php/kako/1015/10151/1015127347.html
Part 6 http://pc.2ch.net/php/kako/1019/10195/1019561283.html
Part 6(7) http://pc.2ch.net/php/kako/1025/10259/1025930486.html
Part 8 http://pc.2ch.net/php/kako/1032/10327/1032704121.html
Part 9 http://pc2.2ch.net/php/kako/1041/10415/1041530204.html
Part 10 http://pc2.2ch.net/test/read.cgi/php/1048686475/
0003nobodyさん
03/06/14 22:27ID:F9qlqHNxWebProg 初心者の質問 Part3
http://pc2.2ch.net/test/read.cgi/php/1045091733/
Perl 初心者コーナー Part24
http://pc2.2ch.net/test/read.cgi/php/1054992610/
CGIに依存しないPerlの話題一般/Part2
http://pc2.2ch.net/test/read.cgi/php/1030548610/
こんなCGI探してますスレッド ver.9
http://pc2.2ch.net/test/read.cgi/php/1051456859/
【Perl,CGI】参考書籍 第三版
http://pc2.2ch.net/test/read.cgi/php/1030209573/
自作CGIを評価するスレ
http://pc2.2ch.net/test/read.cgi/php/1049514428/
【スレッド】2ch型掲示板 その7【フロート型】
http://pc2.2ch.net/test/read.cgi/php/1040777088/
.htaccessの偉い人 Part3
http://pc2.2ch.net/test/read.cgi/php/1019888234/
【 スクリプト改造工房 PART 6 】
http://pc2.2ch.net/test/read.cgi/php/1047806915/
0004nobodyさん
03/06/14 22:27ID:F9qlqHNx通信用語の基礎知識より"CGI" http://www.wdic.org/?word=CGI+%3AWDIC
・WWWで, WWWブラウザからの要求に対してサーバが別のプログラムを起動実行し, 結果をWWWブラウザに返す処理を行なうためのインターフェイス.
・イメージマップ, アクセスカウンタ, 訪問者登録, 掲示板(BBS)などを実現する際に利用されている.
・UNIXのshやその互換シェル, またはPerl, C, C++などが利用される.
0005nobodyさん
03/06/14 22:52ID:???0006nobodyさん
03/06/14 23:05ID:???0008nobodyさん
03/06/15 12:13ID:???プログラムが起動されるんですか? .cgiという拡張子のファイルが実際にあるの
ですか?
0010nobodyさん
03/06/15 13:09ID:???0013nobodyさん
03/06/16 05:17ID:???スレとは関係なさそうなんだけどさ。
アクセス制限したいんです。アクセス制限。
やめた。で、本題↓
cgi?id=passwdみたいに、入力するときにアクセス制限するってのはどうよ?
危険?
0014nobodyさん
03/06/16 06:25ID:???0016nobodyさん
03/06/16 07:15ID:???0017nobodyさん
03/06/16 07:23ID:???海がむっくり起き上がりました。
00188
03/06/16 07:39ID:???form側で.cgiが指定されていても、サーバ側で任意の拡張子のファイルを選択できたり
するとか? もしそうならファイル名は一致してないといけないんですか?
0019nobodyさん
03/06/16 07:44ID:???そして俺も死む
0020nobodyさん
03/06/16 08:04ID:???0021nobodyさん
03/06/16 11:09ID:???誰か解説きぼん
0023nobodyさん
03/06/16 15:28ID:???0024nobodyさん
03/06/16 15:32ID:???0025nobodyさん
03/06/17 22:57ID:1KDkzNYs0026nobodyさん
03/06/18 17:00ID:YUOreFGWってな具合で大体見分ける方法はありますか?
0027あぼーん
NGNG0028nobodyさん
03/06/18 17:40ID:???keep-aliveを見たほうが簡単かも
002926
03/06/18 19:39ID:YUOreFGWそんなわけで検索してみたのですが、
むぅ〜、つまり
HTTP_XROXY_CONNECTIONまたはHTTP_PROXY_CONNECTIONに値があれば串かな?
ってことでしょうかね??
0031nobodyさん
03/06/18 21:35ID:???HTTP_CONNECTIONがkeep-alive
で無い場合串の可能性が高いということです。
omitronを使ってる人に誤爆するかも
ProxyJudgeってのが参考になるですよ
0032あぼーん
NGNG0033nobodyさん
03/06/19 11:15ID:???0034nobodyさん
03/06/19 14:34ID:???そりゃそうだけど。。。
omitron使いは『ローカル接続の維持時間」のチェックをはずしませう。。。
0035nobodyさん
03/06/20 23:40ID:???その場合
print "Set-Cookie: NAME=$name; expires=〜〜
print "Set-Cookie: COLOR=$color; expires=〜〜
と2回書くしか方法はないのでしょうか?
0037nobodyさん
03/06/21 03:14ID:???なるほど。ありがとうございます。
色々試してみたら配列でも良さそうだったので
配列に $nameや$color をしまって書かせる事にしました。
そのテストの中で
$test = 'あいうえお';
$test1 = 'kakikukeko';
$test2 = 'サシスセソ';
@temp = ($test,$test1,$test2);
print "Set-Cookie: TEST=@temp; expires=〜〜
と、配列の一番最後にカタカナの「ソ」があるとエラーが起きてしまうことが判りました。
こういうダメ文字(?)は他にもあるんでしょうか?
思いつく対策が、一番最後にダミーの文字列を入れるとかだったんですが
他に有効な手段がありますでしょうか・・・
0040nobodyさん
03/06/21 03:31ID:???なんと・・・エスケープも試したんですが、やはりエラー出てたんです
$test2 = 'サシスセ\ソ';
ってやってました _| ̄|○
ありがとうございました。無事処理できますた。
004236
03/06/21 06:53ID:???ちゃんとエンコードしてから食べさせてあげましょうね(^o^)
0043nobodyさん
03/06/21 17:50ID:???どなたかREFERERを送る術を教えてください。
一応ぐぐってみて下記のスクリプトを書いてみましたが、どちらも駄目でした。
use LWP::UserAgent;
use HTTP::Headers;
$ua = LWP::UserAgent->new;
$h = new HTTP::Headers(referer=>'http://www.2ch.net/');
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
$request = HTTP::Request->new('GET', "$url");
$response = $ua->request($request);
$html = $response->content;
use LWP::UserAgent;
use HTTP::Headers;
$ua = LWP::UserAgent->new;
$h = new HTTP::Headers;
$h->referer('http://www.2ch.net/');
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
$request = HTTP::Request->new('GET', "$url");
$response = $ua->request($request);
$html = $response->content;
よろしく。
0044nobodyさん
03/06/22 02:18ID:???Perlで文法チェックするように、
CGIで、コンパイルエラー&文法エラーが出たら、
エラー内容をブラウザに出力する方法ってないでしょうか?
004543
03/06/22 05:43ID:???出来ました。
ぐぐりが足りませんでした。
反省します。
004644
03/06/22 09:09ID:???ありがとうございました。
0048nobodyさん
03/06/22 15:18ID:9BWt9KWi$url =~ s/ /+/g;
$url =~ s/([^\%\&\+\-\.\/\=\?\_a-zA-Z0-9])/sprintf("%s%lx", unpack("C", $1))/eg;
0049nobodyさん
03/06/22 15:19ID:dW6ONEdC$url=~s/ /+/g;
$url=~s/([^\%\&\+\-\.\/\=\?\_a-zA-Z0-9])/sprintf("%s%lx",unpack("C",$1))/eg;
0050nobodyさん
03/06/22 15:21ID:???0051nobodyさん
03/06/22 15:44ID:???でした。
0052nobodyさん
03/06/22 16:45ID:???0054nobodyさん
03/06/22 17:32ID:???にある一斉送信CGI(シェアウェアでソースみれない)って、
エラーメールの整理も簡単になりました。!
ってあるんだけど、
これって、エラーメールの処理ってどうやってるんだろう?
Errors-toを設定してかえってきたメールを処理するくらい?
0055nobodyさん
03/06/22 23:53ID:???005635
03/06/23 18:15ID:???if ($ENV{'HTTP_COOKIE'} ne "") {
@data=split(/\; /,$ENV{'HTTP_COOKIE'});
foreach $datum (@data) {
($name,$value)=split(/=/,$datum);
$COOKIE{$name}=$value;
}
$cooktest=$COOKIE{'TEST'};
}
とクッキーを処理した後
($c_test,$c_test1,$c_test2) = split(/ /,$cooktest);
と半角スペースで変数に分けているんですが
$test = 'あい うえお';
$test1 = 'kaki kukeko';
$test2 = 'サシ スセソ\';
と、クッキーに記憶させる中身に半角スペースが含まれていると
変数に分け直すとき、そこで区切られてしまうのです(当たり前なのですが・・・)
半角スペースを に変換しても、
@data=split(/\; /,$ENV{'HTTP_COOKIE'});
の部分でコロンが反応して、処理が思うものにならなくなってしまいます。
$cooktemp = $test .'_^_' .$test1 .'_^_' .$test2;
のように、誰も入れなさそうな文字列を変数と変数の間に入れて、それをクッキーに書いて、取り出してその文字列で区切るしかないでしょうか・・・
0058nobodyさん
03/06/23 19:46ID:???突っ込み入れようと試しにぐぐってみたら、あ〜ら!
http://www.google.com/search?q=+%22cokkie%22&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0059nobodyさん
03/06/23 20:35ID:???http://www.studyinghttp.net/cookies.html
こゆところ100回嫁(w
0060nobodyさん
03/06/23 22:00ID:aWAWPFpScookieにはコロン、セミコロンスペースは使えない。
普通はurlエンコードする。
0061nobodyさん
03/06/23 22:13ID:???まあ初心者には難しそうだけど、Webプログラミングでは避けて通れない関門だ。
ぐぐりゃサンプルソースなんていくらでも手に入るんだから、がんがってくれ。
0063あぼーん
NGNG006854
03/06/24 00:45ID:???素朴な疑問だったので、やったことある人とかに気軽に答えてもらおうかと思ったんだけど
0069nobodyさん
03/06/24 04:20ID:8Tumd/pU0070nobodyさん
03/06/24 05:09ID:???要するに、エラーメールを自分の所に返ってくるようにするにはどうしたら
いいですかってことか?
0072nobodyさん
03/06/24 18:26ID:???この表現がタマラン。
0073nobodyさん
03/06/24 18:54ID:???どうも、レン鯖のsendmailで大量送信しようとしてる厨ぽいな。
ちょっとテストしてみたらエラーになって返ってくるはずのメールが
返って来ず、前に大量送信で逮捕された奴はエラーメールが
原因だったよなー、どうしよう?!
って感じだな。以降スルーということで。
007471
03/06/24 19:28ID:???0076nobodyさん
03/06/25 21:48ID:???クッキーを発行することがわかってるサイトに行って、
クッキー作ってそのクッキーがどんな風になってるか、
自分のマシンの中身を調べてみるくらいのことはしろ。
0077nobodyさん
03/06/27 15:06ID:rcTbJk7F出力したページが文字化けを起こしてしまいます。
Content-type: text/html;charset=Shift_JIS\n\n
とか入れているのですが、直りません。
その他、注意事項があったら教えてください。
0078nobodyさん
03/06/27 15:13ID:???007977
03/06/27 15:20ID:rcTbJk7Fたぶん、そんなところだと思うのですが、
対応方法がわかりません
初心者の間違えそうなところを教えてください
0080nobodyさん
03/06/27 15:24ID:???jcode.plとかJcode.pm使って、いちいち変換するのは、
ユーザに入力させて、変数に取得するときは必要だが。
0081nobodyさん
03/06/27 15:24ID:???0082nobodyさん
03/06/27 15:29ID:???ヘッダでコードを指定したのなら、出力する文字も同じコードじゃなきゃダメだよ。
そのヘッダは「ShiftJISに変換してくれるおまじない」ではないので、実際の文字コードが
EUCとかだったら当然文字化けする。
0084nobodyさん
03/06/27 15:32ID:???jcode.plとかJcode.pm使って、いちいち変換するのは、
ユーザに入力させて、変数に取得するときは必要だが。
0086nobodyさん
03/06/27 15:44ID:???008777
03/06/27 15:48ID:rcTbJk7F>>82
「おまじない」じゃなかったんですか!
では、スクリプトをShift_JISに変換してアップすればいいんですか?
・・・その方法を教えてください。
くれくれですみません!
008877
03/06/27 16:02ID:rcTbJk7Fそれでアップしたら、できました!!
ありがとうございました。みなさん。
0090nobodyさん
03/06/27 16:41ID:???・・・そんな安易でいいのかね。
文字列の処理してる部分があると、
2バイト目に \(0x5C) が入ってる文字で問題が起きるかもよ。
009177
03/06/27 17:50ID:rcTbJk7F>>90
今のところ、テスト用の簡単なページは正しい表示されてます。
&jcode::convert(\$value,euc,"$kcode","z");
を
&jcode::convert(\$value,sjis,"$kcode","z");
にしました。
iモード用CGIでの注意点とかを説明しているサイトとかあれば
紹介してください。
0092nobodyさん
03/06/27 18:01ID:???「CGI (Common Gateway Interface)」 は プログラミング言語じゃねー!!
0093nobodyさん
03/06/27 18:05ID:???convertはそれでいいけど、そのことじゃなく。
スクリプトのファイルをシフトJISで保存してうpしろってこと。
その際、>>90が言うようなEUCでは問題のなかった部分が出てくるわけ。
0094nobodyさん
03/06/27 18:21ID:???0096nobodyさん
03/06/27 19:00ID:???アホが見たらCGI=Perlに脳内変換されるだろ。
Common Gateway Interface だけならまだ良かったかもしれん(手遅れだが)
0098t
03/06/28 16:25ID:???0100nobodyさん
03/06/29 09:15ID:???0101nobodyさん
03/06/29 17:15ID:KusTQ6u8a,cgiでアンケートを集めてa.txt(datでも何でも空ファイル)というファイルに保存したいと思います。
そこで、a.txtにアンケートが投稿されるたびに1行づつ書き足していきたいのですがそこがよくわかりません。
どうやればいいのでしょうか?
0102nobodyさん
03/06/29 17:20ID:???君の質問のオカシイ所をあげてみようか…
1.何の言語で cgi を書いているのか明記していない
2.どの様な言語であろうと、それは完全にバックエンド(サーバーサイド)側で
閉じた処理なので CGI とは「あまり」関係ないと思われる
3.そんな君の為にこんなスレッドがこの板には存在する
http://pc2.2ch.net/test/read.cgi/php/1056078605/
0103nobodyさん
03/06/29 17:30ID:???Perlだと思って回答したら、実はPHPでしたとか言われたらげんなりだし。
0104nobodyさん
03/06/29 20:41ID:???0105あぼーん
NGNG01061 ◆mwE/vdIjgM
03/07/02 03:28ID:g3RHDSaJ01071 ◆mwE/vdIjgM
03/07/02 03:44ID:???ブラウザが、EUC-JP に設定してるのにISO-8859 として認識してしまいます。
解決方法はありませんか。
0110nobodyさん
03/07/02 07:17ID:???英語で返答されました。
0111nobodyさん
03/07/08 04:54ID:???0112nobodyさん
03/07/08 06:02ID:???0113nobodyさん
03/07/08 10:59ID:???0114nobodyさん
03/07/08 11:23ID:???よかったのにな。今のじゃ、読む気がしない。
0115nobodyさん
03/07/08 11:49ID:???ないんじゃない?
0116nobodyさん
03/07/08 11:53ID:???0117nobodyさん
03/07/08 11:55ID:???0118nobodyさん
03/07/08 12:38ID:???CGI/1.1の話に花でも咲かせようか?
0119nobodyさん
03/07/08 14:36ID:???0122nobodyさん
03/07/08 15:19ID:???0123nobodyさん
03/07/08 18:11ID:???「コーディング」の一言が効いたのだろうか。
0124nobodyさん
03/07/09 11:34ID:LTIOpV+bErrorDocument 404 /go2top.cgi
と書いて、
go2top.cgiには
#!/usr/local/bin/perl
$|=1;
print "Location:http://www.foo.co.jp/\n\n";
exit;
と書いたのですが、
存在しないURLにアクセスしても、
cgiを読みに行かず、
普通の「ページが見つかりません」となって、
Apacheのログを見ると、
ただの404 not found になってしまいます。
なぜなんでしょう?
------------------------------------------------------------
あと、これと関係しているのかどうかわかりませんが、
404の場合の制御に関して、何かが何kb以下だとどうのこうのっていうのが、
あったかと記憶にあるのですが、
なんだったでしょうか?
0125nobodyさん
03/07/09 11:39ID:???激しくスレ違いな気がするが
・go2top.cgi は document root にあるの?
・ファイル名サフィックスが .cgi の時、CGI Script として動くようにしてるの?
0127nobodyさん
03/07/09 11:50ID:???0128124
03/07/09 12:33ID:???>激しくスレ違いな気がするが
あ、htaccessのえらい人
http://pc2.2ch.net/test/read.cgi/php/1019888234/
っていうスレがありましたね・・・ここからはそっちに移ります。
で、返答をば・・・
>・go2top.cgi は document root にあるの?
>・ファイル名サフィックスが .cgi の時、CGI Script として動くようにしてるの?
なってます。
>>126
なるほど、さんくすです。
0129124
03/07/09 12:41ID:???ErrorDocument 404 /
ってすればいいだけだと気づいた・・・。
1枚ページをかまさずに、
エラードキュメント=トップページにしちまえばいいと。
すんません。
0130nobodyさん
03/07/09 12:45ID:???0131nobodyさん
03/07/14 03:07ID:E2SfNkcW同じ携帯からの2回以上のアクセスはカウントしないようにする場合
どうやって同じ携帯電話であることを特定すればいいでしょうか?
0132nobodyさん
03/07/14 03:16ID:???携帯電話使った事無いから詳しくはわからんけど・・・
0133nobodyさん
03/07/14 03:16ID:???それを示さない限りはっきりとした解答は得られない
0134nobodyさん
03/07/14 03:54ID:???0135nobodyさん
03/07/14 04:06ID:???0136nobodyさん
03/07/14 04:37ID:???0137あぼーん
NGNG0138nobodyさん
03/07/14 06:20ID:???プログラミングスレに運用の質問が来る。
アホらしい世の中であるなぁ。
0139あぼーん
NGNG0140nobodyさん
03/07/14 15:09ID:???SSIの動作が異なっているために実行されません。。
SSI実行時のカレントディレクトリが異なっているようです。
サーバ側の設定などで修正は可能ですか?
ファイルの修正は多すぎて大変なので・・・。
解決策をご存知の方教えてください。
0141nobodyさん
03/07/14 16:28ID:???大体、その質問内容だと何をしたいのかさっぱり解らん
他の人解る?
0142nobodyさん
03/07/14 16:39ID:???具体的にどういうSSIがどうなるのか
0143nobodyさん
03/07/14 18:40ID:???>サーバ側の設定などで修正は可能ですか?
技術的に可能かも知れんが、そんなこたあ鯖管に聞け。ここで聞くな。
>ファイルの修正は多すぎて大変なので・・・。
そういうのをすぐに修正できるようにスクリプト組まなかったお前の自業自得。
0144nobodyさん
03/07/15 03:40ID:Hnq/UICw[賛成]
・自由にいじれる(CGIならGPLでなくとも大抵普通だけど)。
・条件さえ満たせば、いちいち許諾を得ずに自由に再配布できる。
[反対]
・商用化の時に足かせになりそうだ(?)。
・“GPL汚染”が嫌だ。
0145nobodyさん
03/07/15 06:30ID:???自意識過剰です。
0146nobodyさん
03/07/15 06:54ID:???自作perl scriptという意味ならその限りではないが。
0148山崎 渉
03/07/15 11:05ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0149nobodyさん
03/07/15 12:25ID:BbnXwsym0150nobodyさん
03/07/17 00:06ID:???あたらしくフォルダーやら空白のDatファイル等を
作成する方法を教えてください。
言語はPerlです。
0151nobodyさん
03/07/17 00:29ID:???0152nobodyさん
03/07/17 00:35ID:???マルチポスト?
http://pc2.2ch.net/test/read.cgi/php/1056730690/680
0153nobodyさん
03/07/17 12:52ID:???print "Content-type: text/html\n\n";
print "foo";
とだけ書いたCGIを、SSIの#include virtualで呼び出す。
ちゃんとfooという文字列が埋め込まれてめでたしめでたし…
と思ったら、なぜか特定のリンク元から飛んでくるとエラーになってしまう。
[an error occurred while processing this directive]
たったこれだけのスクリプトなのにリンク元によって動作が違うなんて
一体何が原因なのだろうか。
0154nobodyさん
03/07/17 13:03ID:jvbzuuVHprint "Location: http://www.foo.com/file/thanks.html\n\n";
でなく
print "Location: ../file/thanks.html\n\n";
のように相対パスで書くと、
確か、なんらかの条件(環境)のときに、
正常に動作しない・・・という記憶があるのですが、
どういう条件(環境)でしたっけ。
0155nobodyさん
03/07/17 14:09ID:???RFC2616 HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
絶対URIに「すべき」と書かれているのに、
相対URIを薦めているバカサイトはどこだ?晒してみ。
0157nobodyさん
03/07/17 14:45ID:???「相対URI」について補足。ID、PASS 共「cgi-ml」 。
http://ns3.yt.com/ml/cgi/htdocs/44500/44507.html
http://ns3.yt.com/ml/cgi/htdocs/44500/44509.html
Location: /abs_path/file は CGI 的には正しいけど、それを
サーバが Location: http://example.com/abs_path/file に
リダイレクトしてくれないと RFC2616 (HTTP) 的に不可になる、
という話らしい。
まぁ絶対URIで書いとくのが一番良いのは変わらんですが。
>>154 みたく相対URI且つ相対パスな指定はどっち的にも不可。
0160158
03/07/17 16:17ID:???_| ̄|○ 吊に逝てきまつ
0161154
03/07/18 00:09ID:???他人がつくったcgiを改修せなあかんのですが、
そのcgiの中に、print "Location: ../file/thanks.html\n\n";
があったもんで・・・。
なもんで、改修中なのでさらせませんあしからず。
>>157
ありがとうございます。
理解しますた。
0162nobodyさん
03/07/19 11:31ID:7HceImjZ使ってる言語がperlである可能性って、
何%くらいだと思います?
-------------------------------------------------------------
(以下、事情というか、蛇足ですが)
というのも、うちの会社がレンタルサーバ屋さんをやってて、
うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、
(ちなみにおれは、その会社のウェブ制作事業部で、perlのプログラム組んでる)
で、サーバ営業の人が
「他のサーバからうちのサーバへ移行しましょうよ〜」と言うとき、
お客さんのサイトで使ってる言語が、わからないときがあるので。
拡張子がphpなら、移行無理ってわかるんですけど、
拡張子がcgiの場合、どうなんだろうと思いまして。
0164nobodyさん
03/07/19 18:30ID:???0165nobodyさん
03/07/19 18:42ID:???レンタルサーバーなら、実際のところ9割方perlなんじゃねーの?
ただ、>>164の言うとおり、dbやら、cronとかメールまわりとか、他にも障壁は山積みだが、
営業のとっかかりとしては拡張子cgiで判断してもいいんじゃねーの。
0166nobodyさん
03/07/19 19:00ID:???と、言うか、
>うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、
明らかに自社システムに魅力が無いのを何とかした方が良いんではないだろうか。
0167nobodyさん
03/07/19 21:00ID:???0168162
03/07/19 22:12ID:xa8aez3Tはげしくどうい
>>164
うち、DB使えません(泣)
>>165
crinなんて、たぶん営業の人は聞いたこともないだろー。
>>166
そうなんですよねー。
でも、もっと何かをつけたとして、はたしてカスタマーサポートできるのかどうか・・・
>>167
マジです。でも、rubyは使えるよw
0170あぼーん
NGNG0171nobodyさん
03/07/25 23:16ID:gaEpK534ヘッダは同じだし、吐き出されたHTMLをhtmlファイルとしてupするとちゃんとjavascriptをかみます。
特にエラーはでてきません。無視されますが。
IEでは「書き込みできません」というエラーがでます。
お心当たりある方はレスおねがいします。
0172あぼーん
NGNG0173nobodyさん
03/07/26 02:05ID:MRZ/abmL困っています。同じフォーマットのHTMLファイルを作成して見る分には、
MacとWindowsの環境では違いはないので、タグの問題ではないと思います。
現象としては確認していないのですが、スペースで区切った部分がズレたり、
文字化けを起こしているようです。
原因に心当たりのある方はいらっしゃるでしょうか?
もしわかる方がいましたら、教えてください。よろしくお願いします。
0174nobodyさん
03/07/26 02:29ID:???「テキストファイルをHTML出力する際」ってどゆこと?
htmlなの? plaintext ファイルなの?
.txtとかをサーバにアップロードして、htmlファイルからリンクして表示するときのことだとすると、
.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
まずは現象を確認して、現象を再現できるようにしないと対応は難しいんじゃないかな。
0175あぼーん
NGNG0176nobodyさん
03/07/26 03:11ID:MRZ/abmLレスありがとうございます。
正確には
1. テキストファイルをサーバにアップ
2. cgiでテキストファイルをもとに、データファイルを作成
3. 同じくcgiでデータファイルをもとにprintでHTML出力
という流れで処理しています。
このcgi出力で表示しているものとは別に、
同じフォーマットのHTMLファイルもあるのですが、
それだときちんと表示されています。
この違いがどこからくるのかわからなくて…。
現象の再現は、Macを持っていないので、ちょっと難しいのです。
0177nobodyさん
03/07/26 03:25ID:???出力が同じで見た目が違うということは
HTTP Response Headerが違うということ。
>>174さんの言う通り
>.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
>ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
です。
0178nobodyさん
03/07/26 03:28ID:???GET /***/hoge.html HTTP/1.0
の出力結果と
>telnet www.***.com 80
GET /***/hoge.cgi HTTP/1.0
の出力結果で食い違う部分を貼ってごらん。
0179nobodyさん
03/07/26 04:18ID:???レスありがとうございます。やっと意味がわかりました。
つまり、例えば2.のデータファイルはeucコードなのに、
3.でS-JISとして表示していないか、ということなのですね。
お恥ずかしい話なのですが、
無料サーバなので、telnetが使えないのです。
環境を再現する方向で、なんとか対応してみたいと思います。
こんな夜中にありがとうございました。
0180nobodyさん
03/07/26 05:13ID:???>無料サーバなので、telnetが使えないのです。
んなわきゃない。80番ポートにつなげられなかったらブラウザからでも見えなくなってしまうぞ。
0181nobodyさん
03/07/26 06:00ID:???念のため確認してみましたが、やはり切断されてしまいました。
ダメみたいです。
0182nobodyさん
03/07/26 06:40ID:???まさか
>telnet www.***.com 80
ってそのまま書いたんじゃないだろうな。
ttp://ash.jp/net/telnet_http.htm
そうでなければプロキシ使ってるんだろう。
>telnet プロキシ 8080(とは限らない)
GET http://www.***.com/hoge.html HTTP/1.0
とやるとか。
正直こっちの言ってることが分からないんだったら、
ヘッダを見るツールを使えばいい。
0183nobodyさん
03/07/26 06:50ID:???サーバがそれを無視する設定になってることもあるから、
ちゃんと確認するにはヘッダを見るしかない。
0184nobodyさん
03/07/26 07:02ID:???プロキシを使っているのかはわかりませんが、
やはり
>telnet サーバ 80
で、ダメでした。
ヘッダを見るツールですが、「httpReq」でいいのでしょうか?
DLして使える状態にしました。
0185nobodyさん
03/07/26 08:17ID:???charsetが出ていなかったので、「webmekuri」でやってみました。
これでなにかわかるでしょうか?
お手数をかけて申し訳ないです。よろしくお願いいたします。
・perl
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:03:26 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
・text
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:04:30 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
0186nobodyさん
03/07/26 11:57ID:???0187nobodyさん
03/07/26 13:15ID:???HTTP/1.1 400 Bad Request
はおかしいだろ。
perl(CGI?)の方はまだしもtext(HTML?)の方が400なのは変だ。
ブラウザでちゃんと見えてるのか?webmekuriのマニュアル嫁。
HTTP/1.1 200 OKになるまで帰ってくるな。
0188nobodyさん
03/07/26 13:20ID:???0190nobodyさん
03/07/26 13:33ID:???別にそんなに面倒じゃないよ。
多分彼はツールの使い方を間違ってるんだよ。
もう説明するの面倒くさいからアドレス晒してくれた方が楽。
0191あぼーん
NGNG0192nobodyさん
03/08/01 14:39ID:gYU9QUBu=%3E%3E1%0D%0A%81@%81@%81@%81@+%81@%81@%81R%2
8%A5%83%D6%A5%29%2F%81@+%81@%BD%DE%BA%B0%0D%0A%81@%81@%81@%81@+%81@%81_%28.%81_+%83m
こういう文字列にブラウザが変換してWEBサーバーに送りますよね
この変換機能をつかえるモジュールや関数ってないのでしょうか
単なる2バイトの漢字コードとおもってたんですが+とかxとかの意味がよくわかりません
解説しているページがあったらお教え願います
0193あぼーん
NGNG0194nobodyさん
03/08/01 14:57ID:???0195192
03/08/01 15:18ID:???謝謝
0196あぼーん
NGNG0197あぼーん
NGNG0198あぼーん
NGNG0199192
03/08/01 18:41ID:dlG1lsZs漢字コードの変換の解説しか出ないんですけど
+ とか xがなんでててくるのかがわかりません
0200ponpon
03/08/01 19:02ID:???CGIの設定をしてあるので、Webからアクセスして、新規MLを作成すると以下のエラーがでてしまします。
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka from main /usr/local/fml/makefml 3593
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-ctl from main /usr/local/fml/makefml 3594
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-default from main /usr/local/fml/makefml 3595
ちなみにコマンドでmakefml newmlの場合はエラーなく作成できました。
どなたか、わかる方教えてもらえないでしょうか?お願いします。
0201nobodyさん
03/08/01 22:33ID:???いや、書いてあるだろう……
ぐぐったんなら複数のページを参考にしてみれ。
ちなみに + は半角スペースを置換したもの。
xは特に意味はない。(そのままxという文字。おそらくシフトJISの2バイト目だろう)
0202nobodyさん
03/08/01 23:54ID:???UNIX板に全く同じ質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/unix/1058708085/334
0203nobodyさん
03/08/02 00:06ID:???0205山崎 渉
03/08/02 02:21ID:???( ^^ )< ぬるぽ(^^)
0206ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:49ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0207nobodyさん
03/08/02 10:28ID:fI9uzQF/すいません、UNIX板に質問しているのま私なのです。(。。)
0208nobodyさん
03/08/02 10:33ID:???0210nobodyさん
03/08/02 14:38ID:???Linux板に似たような質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/linux/1059545839/217
0211nobodyさん
03/08/02 14:43ID:???放置するのはどうだろう。
だからマルチは嫌われるのだが。
0212nobodyさん
03/08/02 15:10ID:???LAN内のXPマシンにApacheを入れて、テスト環境を作りました。
以前に借りていたWebサーバーで使っていたPerlを動かしてみたところ、
open(IN, $filename)
$buff = <IN>;
とすると、テキストファイルの最後まで一気に読みこまれてしまいます。
以前の環境では改行までを読み込んでいました。
これは、どうしてなのでしょうか?
改行までを読み込むコードにするには、どうしたらいいのでしょうか。
0214nobodyさん
03/08/02 16:29ID:???また、来たよ…。>>1 も言語も書いてないオヴァカ質問者
まぁ、それは perl だから、答えると
> とすると、テキストファイルの最後まで一気に読みこまれてしまいます。
当たり前だろ。perl 知らないのか?
$buff には最初の行が入るだけで後は空読みして全部捨てられる。
スカラとかリストの事よく解ってないね
0216nobodyさん
03/08/02 17:55ID:???その通りでした。
テストで使っていたファイルだけ、たまたま[LF] になっていました。
[CRLF]の改行のファイルでやったらうまく行きました。
ありがとうございます。[LF]ではないと、思いこんでいました。
>214
さすがに、そのくらいはわかります(笑)。
0217nobodyさん
03/08/02 18:42ID:???0219nobodyさん
03/08/02 21:53ID:???>
> とすると、テキストファイルの最後まで一気に読みこまれてしまいます。
> さすがに、そのくらいはわかります(笑)。
( ´,_ゝ`)プッ
0220nobodyさん
03/08/04 13:54ID:???方法、可能かどうかについて書かれたサイト、参考書が見当たらず困っております。。
Set xmlHTTP = CreateObject("Msxml2.ServerXMLHTTP")
xmlHTTP.Open "POST", "送信先URL", False
xmlHTTP.send xmlDoc
resXML = xmlHTTP.responseXML.xml
ASPでは、上記方法でらくらくといけるのですが、
Perlで同じことをする方法ってあるのでしょうか?
0221nobodyさん
03/08/04 14:00ID:IgxIVir7ユーザから、
「あるcgiにアクセスしようとしたら、
403 のステータスコードが返された」といわれました。
でも、同じ作業を自分でやっても、再現性がとれません。(正常動作する)
これって、何が考えられるんでしょうか?
0224nobodyさん
03/08/04 16:46ID:CNOu+lh/sub form { #(1)
# いろいろなFORMに入力させsubmitさせる。
# <input type="file">もある。
}
sub reconfirm{ #(2)
# 画像込みで仮表示し内容を再確認させてsubmitさせる。
# FORMからのデータは<input type="hidden"〜>で持ち回る。
}
sub data_input{ #(3)
# ユニークなdata_idを決めてデータを格納する
# 画像データはdata_idを元にユニークなファイル名を付けてupload処理(CGI.pmで)を行う。
}
こんな流れの処理です。
※次に続く
0225224
03/08/04 16:47ID:CNOu+lh/元は受け入れデータがテキストのみで画像はなかったので、
これで上手くいっていたのですが、画像アップロード機能を付加した所
(2)を経由させると<input type="hidden"〜>では画像データを持ちまわって来ないので
とりあえず(1)→(3)として運用していますが、やはりこのままだと
ちょっとしたEnterキーの誤入力などでいきなり書き込みされてしまうので
どうしても(2)を介在させたいと思います。
(2)で再編集必要な場合、あるいは画像の選びなおしの場合に(1)に戻るのは
ブラウザの「戻る」ボタンを使わせます。
でもし画像込みで(2)の介在が可能ならば、(2)ではその画像も仮表示させたい、
と思っていますが、これを実現するには
A:(1)→(2)の段階でテンポラリーファイルにupload処理上で仮表示させ、
(3)で正式なファイル名称にrenameする。
あるいは
B:(1)→(2)では画像ファイルを変数に格納した上で仮表示し、
(3)で正式なファイル名称にした上、ディスクに格納する。
どんなふうにするのが当たり前、現実的でしょうか。
画像ファイルはJPEG又はGIFで二点ほどで、
$ENV{CONTENT_LENGTH}は200kで制限かけてます。
僕としては仮表示(正式にuploadするかどうかわからない)時点で
ディスクに書き込むよりはできれば変数に仮に格納するBにしたいのですが、
その方法がよくわかりません。
そもそも可能でしょうか。
0226224
03/08/04 16:49ID:CNOu+lh/0227nobodyさん
03/08/04 17:17ID:???Perl のみでは不可能。
削除できるんなら別にいらない機能かと思われ。
(ようするに誤送信する香具師が悪い)
あとなんでもいぃからアップローダのスクリプトを眺めて処理の流れを嫁。
0228224
03/08/04 17:44ID:CNOu+lh/ども、ありがとうございます。
そうですか、perlだけではだめですか…
アップロード処理自体は問題なくできてます。
つまりFORMで受け取ってそれをディスクに格納、はできてます。
そのあいだに再確認の手順を挟みこめないかな、と、
で、その再確認で送ろうとする画像も表示したい。
とはいえもちろんまだローカルにしかないファイルを表示はできませんから、
この時点でサーバが受け取ってなくては無理なわけですが、
できればそれをテンポラリーであれディスクに書き込まないで
できないかな、と思った次第です。
やっぱりこの機能をあきらめるか、あるいはこの時点でとりあえず仮であれ
なんであれディスクに書き込む必要がある、って事ですね。
0229nobodyさん
03/08/04 17:47ID:???メールの添付ファイルをperlを使ってbase64デコードすると、
32KBのところで切れてしまいます。
perlのソースは下記の通りです。
# ===================================================================
# mime_dec_base64 … base64デコード
# Usage : &mime_dec_base64( $input )
# 引数 : 被デコードデータ
# 戻り値 : デコード済バイナリ
# 外部参照: なし
# ===================================================================
sub mime_dec_base64 {
$_ = @_[0];
# --- 非base64キャラクターと'='を除去
tr!A-Za-z0-9+/!!cd;
# --- 底を変換する
tr!A-Za-z0-9+/!\x00-\x3f!;
# --- 6ビット揃えして、戻す
$_ = unpack('B*', $_);
s/(..)(......)/$2/g;
s/((........)*)(.*)/$1/;
$_ = pack('B*', $_);
return( $_ );
}
よろしくお願いします。
0231229
03/08/04 20:18ID:???もともとbase64エンコードって、サイズの限界が32KBなんですね。
・・・ってことで、添付ファイルを分割後エンコード→結合って方法で
解決しました。
0232224
03/08/04 20:47ID:CNOu+lh/while ( read( $fh, $buffer, $baffer_size) ) {
print "$buffer";
}
ってやったら文字化けずらずら出てきました。
なんか実現に近づいているような期待しているんですが、
勘違いですか?
0233nobodyさん
03/08/04 20:52ID:???試しにその内容を .jpg とか .gif ファイルに保存して見れば?
0234224
03/08/04 20:54ID:CNOu+lh/はい、画像ファイルです。JPEGです。
でファイルに保存したら見られます。
やりたいのはファイルに保存しないでHTMLファイルの
一部として表示しちゃいたいんです。
できませんでしょうか。
0236224
03/08/04 21:34ID:CNOu+lh/GDとか使うとメモリ内のデータを画像として表示しますよね。
その辺の応用でできないもんかな、とか思って。
いろいろやってみてるんですが上手く行かないですけど。
0237235じゃないが・・・
03/08/04 21:43ID:???>GDとか使うとメモリ内のデータを画像として表示しますよね。
htmlでの画像表示法知ってるかい
urlでファイル名を指定するんだよ。
0238nobodyさん
03/08/04 21:50ID:???0239224
03/08/04 21:54ID:CNOu+lh/はい、知ってます。
今はそれでやってますから。
FORMから受け取ったものをディスクに格納し、
表示はそのファイルを<IMG src="..."> で表示させてます。
で、FORMから受け取ったものをディスクに格納する前に、
表示する方法がないかな、といろいろやってみているわけで、
無駄な努力をしちょる、という事なんでしょうね、
きっと。
0240nobodyさん
03/08/04 22:02ID:???multipart/mixed なんてものもあるが、まともに実装されている
ブラウザが存在するのか疑問。素直に一旦ファイルに吐く方が
いいと思う。
0241nobodyさん
03/08/04 22:02ID:???>GDとか使うとメモリ内のデータを画像として表示しますよね。
表示するのは画像のみだけどね。
htmlで表示するには結局ファイルに保存しないとだめでしょ。
formで受け取ったjpeg画像もContent-type:image/jpegヘッダーの後に出力すれば
画像のみなら表示できる。
0242224
03/08/04 22:05ID:???reconfirm で一旦テンポラリーファイルに保存→表示
data_input でrenameして正式格納、って事で進めます。
ありがとうございました。
0245nobodyさん
03/08/04 23:18ID:???>画像の生データをHTMLの途中に流し込んで、って言うのが
無茶もいいところ。
GDだって「HTMLの途中に流し込」むなんてできんだろ。
というかHTMLを0から勉強した方がよさげ。
0246nobodyさん
03/08/04 23:20ID:???>というかHTMLを0から勉強した方がよさげ。
というかHTMLとHTTPを0から勉強した方がよさげ。
0247224
03/08/04 23:50ID:???画像吐き出すスクリプトを別にするなり再帰なり、何しろ別のプロセス
から吐き出して<IMG src=""〜>で呼ぶってのならできるんでしょうが、
まあ、言われなくてもいろいろ勉強中ですわ。
ほんじゃ
0248nobodyさん
03/08/05 00:56ID:???0249nobodyさん
03/08/05 01:08ID:???0250nobodyさん
03/08/05 01:18ID:???JavaScriptでローカルファイルを表示させる方法もあるのだが
教えるのは辞めておこう。
0251nobodyさん
03/08/05 01:26ID:???バイナリ埋めこんでそれを実行しようとしているようなもんだな
0252224
03/08/05 02:03ID:???GDができないんじゃなくて、HTMLをそうできないようにしてるから
できなんだと思います。
GDの出力をWEBページの一部として表示することは、
ホントにできませんか?
>>248
いえいえ、お相手ありがとうございました。
>>249
そうよばれたのは初めてです。ちゅうか、その方とは違うと思います。
>>250
いや、どうも伝わってないようですが、ローカルファイルを表示
したいわけじゃないんです。
>>251
いえ、テキストファイルじゃなくて画像ファイルって言ってるんですが、
どうも誤解させたようで、申し訳ありませんでした。
皆様に幸あれ。
0253nobodyさん
03/08/05 02:31ID:???ちゃんとレス嫁馬鹿者。
>>251が言ってる
>コイツの言っている事は、テキストファイル中に実行可能ファイルの
>バイナリ埋めこんでそれを実行しようとしているようなもんだな
は合ってるだろ。
>いえ、テキストファイルじゃなくて画像ファイルって言ってるんですが、
ほんっっっとに馬鹿だな。日本語勉強しろ。
お前はHTML(テキストファイル)の中に画像(バイナリ)を埋め込みたいと言ってる。
そりゃ実行できるわけないだろ。(まあ見えなくは無いが文字化けみたいになるわな)
ついでに
>GDができないんじゃなくて、HTMLをそうできないようにしてるから
>できなんだと思います。
どうすればHTMLにバイナリを埋め込んで表示できるんだ。
>GDの出力をWEBページの一部として表示することは、
>ホントにできませんか?
だから<img src="〜">ならできるっつってんだろ。
その時のresponse headerはContent-Type: text/htmlじゃなくてContent-Type: image/(jpeg|gif|etc.)で
message-bodyはその画像のみだ。
HTMLとHTTPを0から勉強しなおせ。
というか、人の話を聞かないようならプログラムやめろ。マジで。
0255nobodyさん
03/08/05 03:37ID:???ただ、画像サイズがデカくなると、htmlのサイズ自体も脹れ上がるからお薦めはせんし実装しようとも思わんけどな・・・
というか、GDやらしってて、この程度の発想がでてこんのが不思議であるわけだが・・・
0256nobodyさん
03/08/05 10:21ID:???0258nobodyさん
03/08/05 13:34ID:???while($a eq $b || $a eq $c || $b eq $c){
$a = int rand 10 ;
$b = int rand 10 ;
$c = int rand 10 ;
}
これでいいの?
他になんかスマートな書き方ある?
0259nobodyさん
03/08/05 13:46ID:???読み込むことってできるんですか?
0260nobodyさん
03/08/05 14:21ID:???永久ループになる可能性が 0 ではないので不可。
@seed = (0..10);
($a,$b,$c) = (splice(@seed,rand($#seed),1),splice(@seed,rand($#seed),1),splice(@seed,rand($#seed),1));
みたいにしてみる。
# ただし同じ数字が連続しない乱数は乱数ではありませんので。
>>259
できまーす。
0263nobodyさん
03/08/05 16:02ID:???「ただいま処理中です」
と表示させておいて、処理が完了したら別ページに飛ばす
(処理完了が書かれたHTMLを表示する)
というCGIを作りたいと思っているのですが、
どうもうまくいきません。。
バッファのフラッシュを考えたのですが、
最後に別ページを表示するので、ちょっと違うかなと思いました。。
こんなイメージです。
print "Content-Type:text/html\n\n";
print "loading...";
sleep(10); # ここが重い処理と想定
print "Location:$URL\n\n";
exit;
この通りではいかないのはわかっておりますが、
他に方法がないものかと思っております。。。
この処理自体、Perl-CGIではできなかったりしますかね(汗
0266263
03/08/05 17:35ID:???( ´・ω・`) ありがとう…。
HTTPヘッダの問題ということは、
言語に関わらず無理ということですね・・・。
(ASPで同様のことをやっていたのを見たことがあるのですが、
あれは何か特殊なことだったのでしょうか・・・)
0267nobodyさん
03/08/05 17:43ID:???2. バッファリングをせずに垂れ流し、処理の最後にJavaScriptのdocument.writeでHTML書き直し。
3. 2.のdocument.writeの代わりにlocationで別HTMLにジャンプ。
これぐらいしか思いつかないや
0269nobodyさん
03/08/05 17:58ID:???昔仕事でそんなようなことやってた。
そのときは、まずsubmitされたデータをhiddenなりで埋め込んだ
「ただいま処理中です」ってページを表示、
そのページのonloadでhiddenのデータをsubmitって感じでやってた。
その際、ブラウザがタイムアウトしないように改行か何かを定期的にflushして、
プログラム側(というかhttpd側?)もタイムアウトしないように
XSモジュールでスレッドとイベント作って、指定時間でraise(SIGINT)
みたいなことやってたな。<俺は関与してない
1. 入力画面
↓何らかのデータ送信
2. 送信されたデータをhiddenで埋め込んだ「処理中」ページをとりあえず表示
↓onloadで本当に処理させるページへsubmit
↓サーバで重い処理
↓定期的にタイムアウト対策
↓処理終了
3. 結果画面
って感じ。
0270nobodyさん
03/08/05 18:28ID:???0271nobodyさん
03/08/05 18:49ID:???0272263
03/08/05 20:11ID:???BODYタグのonLoad もしくは、
最後にJSでlocation.href変更スクリプトを吐き出しにしたところ、
なんとかそれっぽい感じにはなってきたんですが、
バッファリングされたりされなかったりしちゃいます。。。
#! /usr/bin/perl
$| = 1;
print "Content-Type:text/html; charset=EUC-JP\n\n";
print "<HTML><BODY>";
print "読み込み中";
print "</BODY></HTML>";
sleep(5);
print <<EOF;
<script language="javascript">
document.location.href='http://www.yahoo.co.jp/';
</script>
EOF
exit;
いくときといかないときがあるということは、
バッファリング自体怪しいかなぁ・・・
0273263
03/08/05 20:36ID:???0274263
03/08/05 20:57ID:???#! /usr/bin/perl
$| = 1;
print <<HTML_DATA;
Pragma: no-cache
Cache-Control: no-cache
Content-Type:text/html; charset=EUC-JP
<HTML>
<BODY onLoad="document.location.href='index.html';">
読み込み中
</BODY>
</HTML>
HTML_DATA
print( "\n" x 8192 );
sleep(5);
exit;
ただ、WinのNN6.2, IEでは確認とれたのですが、
Macとなると、両方ともダメでした。。。
0275nobodyさん
03/08/05 21:06ID:???0277初心者
03/08/05 22:00ID:rGA945yM質問なんですが、自分iswebで無料ホームページを作っているのですが、
cgiについてよくわかりません。
パーミッションを変更してアップロードするだけでいいのですか?
0278nobodyさん
03/08/05 22:17ID:???まずは勉強しんしゃい。
http://dir.yahoo.co.jp/Computers_and_Internet/Internet/World_Wide_Web/CGI___Common_Gateway_Interface/Guides_and_Tutorials/
0279nobodyさん
03/08/06 00:43ID:s3UpSeM9フレームは使用禁止ですか?
フレームページに隠しフレームと見えるフレームをつくる
隠しフレームのソースは重い処理をしたいCGIにする。で処理終了したら
リダイレクトするか、winodow.top.location.href = "index.html";を書き出す。
で、見えるではフレームにお待ち下さいの表示をしておく。
これで上手くできないかな??
0280279
03/08/06 00:44ID:???0281nobodyさん
03/08/06 01:03ID:pv8vzu63http://homepage3.nifty.com/coco-nut/
0282nobodyさん
03/08/06 01:12ID:9HRAagYphttp://endou.kir.jp/marimo/link.html
0284nobodyさん
03/08/06 09:23ID:???10秒も20秒もかかるの
0285263
03/08/06 10:01ID:???フレームは特に使用しても問題ないです。
その方法は結構スマートですね。
ちょっと試してみたいと思います。
>>283
フォームからCGIを呼び出して、
処理中にお待ちくださいを表示するので、
一度Locationで、hiddenを持たせたお待ちくださいHTMLを
表示して、onLoadでSubmitしてもいいかもしれません。
(この辺はブラウザ依存を要調査ですね
できれば依存を気にしなくてもできるスクリプトが望ましいです。
>>284
通信処理というより、通信経路で時間をとられるといったほうが正しいかもしれません。
みなさん色々と参考になります。
ありがとうございます。
0286263
03/08/06 10:03ID:???○重い処理というより、
でした・・・
0287263
03/08/06 13:23ID:???▼index.html
<FRAMESET rows="0,*">
<FRAME src="process.cgi" >
<FRAME src="loading.html">
</FRAMESET>
▼loading.html
<HTML>読み込み中</HTML>
▼process.cgi
print <<HTML_DATA;
<HTML>
<BODY onLoad="window.top.location.href='done.html';">読み込み中</BODY>
</HTML>
HTML_DATA
sleep(10);
exit;
▼done.html
<HTML>読み込み完了</HTML>
この場合、エラー内容を元にページを振り分けたり、
値を引き継いだりでまた問題が出そうですが・・・。
とりあえずこの方法が一番よさそうな気がします。
0288nobodyさん
03/08/06 18:52ID:???hoge.foo.co.jp
で取得することはできますか?
ただし、両者は互いに別のサーバ上にあります。
テストしてみろといわれそうですが、
今まだ環境が用意できてないもので・・・
0291nobodyさん
03/08/06 23:53ID:I44XWNV5できそうだなあ。
えーと。
クッキーを作る時にそれが有効になるドメインを指定できる。
指定しなければ、作成したドメインがそれになる。
ドメインを自分で指定した場合、>>288のようなことが可能になる。
0292nobodyさん
03/08/06 23:56ID:???0293nobodyさん
03/08/07 02:12ID:???0296nobodyさん
03/08/07 20:10ID:???domain=.foo.co.jp;
でクッキーを発行すればwww.foo.co.jpとhoge.foo.co.jpで同じクッキーをやり取りできるはず。
domain属性が廃止されてなければ。
http://wp.netscape.com/newsref/std/cookie_spec.html
>>295
今はそうなったの?
0297nobodyさん
03/08/07 21:18ID:???>でクッキーを発行すればwww.foo.co.jpとhoge.foo.co.jpで同じクッキーをやり取りできるはず
これで正解。いったいここは何の板なのかと思ってしまう・・・
0298nobodyさん
03/08/08 11:27ID:???cgiをコマンドラインからでもテストできるようにしようと思って、
変数をデコードする部分を、
my($method) = $ENV{'REQUEST_METHOD'};
if ($method eq 'GET') {
$query = $ENV{'QUERY_STRING'};
}
elsif ($method eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
#★コマンドラインからのとき
else{
$query = $ARGV[0];
}
にして、
foo.cgi key1=name=1&key2=name=2&key3=name=3&key4=name=4&key5=name=5
とコマンドラインからやってみたのですが、
'key2' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'key3' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'key4' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'key5' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と言われてしまいます。どうすればいいのでしょうか?
0299nobodyさん
03/08/08 13:13ID:???perl foo.cgi key1=name=1&key2=name=2&key3=name=3&key4=name=4&key5=name=5
は?
0300nobodyさん
03/08/08 17:35ID:???「Location:http://www.aaa.com/hoge.cgi\n\n」
として別のサーバにリダイレクトさせ、
そのcgiにアクセスすると、
「Location:http://www.bbb.com/fuga.cgi \n\n」
として別のサーバにリダイレクトさせ、
さらにそのcgiにアクセスさせると、
「Location:http://www.ccc.com/hage.cgi \n\n」
として・・・
というのように複数回リダイレクト(まぁ、多くても3回の予定ですが)することを考えているのですが、
これに関して、何回までという制限はあるのでしょうか?
また、このように複数回リダイレクトするときに、何かしら制限やら注意事項というのはありますか?
(もちろん、無限ループしないようにはします)
0303nobodyさん
03/08/09 02:11ID:???Locationヘッダを解釈するのはクライアント側だから、ブラウザ次第じゃない?
>>298
foo.cgi "key1=name=1&key2=name=2&key3=name=3&key4=name=4&key5=name=5"
0305nobodyさん
03/08/09 11:32ID:???0306nobodyさん
03/08/10 09:53ID:???素人っぽい質問している>>298さんに勧めているので、
自称スーパーハカーの>>304さんには勧めてませんよ。
せっかくですから、>>304-305さんは好きなだけ車輪の再発明に勤しんでください。
0308nobodyさん
03/08/10 11:50ID:???お前は帰んなくていいから、デテクンナ
0309nobodyさん
03/08/10 12:29ID:???0310nobodyさん
03/08/10 14:17ID:???0311nobodyさん
03/08/10 21:18ID:???0312nobodyさん
03/08/11 00:31ID:???0313nobodyさん
03/08/11 00:49ID:???0314nobodyさん
03/08/11 09:54ID:???0315nobodyさん
03/08/11 16:44ID:1GxglH9k&cookie_regist('foo','fooid!123456',5);#5日間有効な(fooという値の)クッキーをセット
&cookie_read('foo'); #fooという値のクッキーを読み取る
print "Content-type: text/html\n\n";
print qq|\$cookie{'fooid'} is $cookie{'fooid'}|;
で、クッキーを書きこんで読み込んで表示させる簡単なスクリプトなんですが、
(もちろん、cookie_regist と cookie_read 関数は別の所にあります)
IEで、クッキーを全削除して、そのページを表示させると、
1回目はクッキーが表示されず、
リロードすると2回目以降はクッキーが表示されます。
これって、クッキーの仕様なんでしょうか・・・。
(以前に発行されたクッキーは読めるが、
同じhttpアクセス内で発行されたクッキーは、
そのアクセス内では読み取れないという、ことなんでしょうか?)
0316nobodyさん
03/08/11 16:53ID:???ヘッダが終了しないとクッキーがセットされないんじゃない?
つまり1行目でクッキーを送信してるけど、実際は3行目で\n\nとしてヘッダを
完結させてやるまでクッキーのセットが保留されているのかも。
クッキー読み込みを表示の直前にして再度試してみて。
0317316
03/08/11 17:02ID:???見てるだけだから、発行して同時に取得はできないのかもしれない。
発行した場合はクッキーを読まずに、その発行したデータをそのまま使うように
すればいいと思う。または$ENV{HTTP_COOKIE}を自分で書き換えちゃうとか。
0318nobodyさん
03/08/11 17:34ID:???Cookieの読み出しはブラウザからのリクエスト時に送られてくる
Cookieヘッダ(HTTP_COOKIE)から行う。
Cookieの書き出しはサーバからのレスポンス時に送る
Set-Cookieヘッダで行う。
この仕組みを考えれば明白だろう。
Cookie仕様書
ttp://wp.netscape.com/newsref/std/cookie_spec.html
日本語訳
ttp://www.futomi.com/lecture/cookie/specification.html
0319nobodyさん
03/08/11 19:33ID:2ChtRC4J柔らかくて揉み心地のよさそうなオッパイの持ち主です。
上のお口と下のお口をフルに使っての4Pシーンは見所満載!
オマンコの奥深くに突き立てられていくチンチンが気持ちよさそうです。
無料ムービーはここから
http://www.exciteroom.com/
0320_
03/08/11 19:44ID:???0321_
03/08/11 19:45ID:???0322_
03/08/11 19:48ID:???0323315
03/08/11 23:16ID:???なるほど、よく理解しました。
やっぱ、表面的な知識じゃ、こういうときぼろがでるね。
>>318
Cookie仕様書は英文で、なんとか読んでた(でも半分くらいしかわからず)んだけど、
日本語訳があったとはしらなんだ。ありがとうございます。
0324nobodyさん
03/08/12 09:39ID:???<a href="foo.cgi?hoge=fuga&hage=tara">リンク</a>
みたいにリンクするとき、
正しい書式は
<a href="foo.cgi?hoge=fuga&hage=tara">リンク</a>
じゃなかったでしたっけ?
ネスケ7.1(Win版)で試したら、前者は思い通りの動作して、
後者は思い通りの動作をしてくれなかったもので
(hoge=fugaをうけとってくれなかった)
なんか自分、他のことと勘違いしてます?
すくなくとも、html中の特殊文字を書くときと、
hiddenフィールド内に書くときは、&で正しいかったかと思いますが・・・
0325nobodyさん
03/08/12 09:57ID:???0326nobodyさん
03/08/12 10:16ID:???&amp;が正しい。
(アンパサンドは便宜的にいわゆる全角)
でも、そもそも、自分でCGI組んでいるんだったら、
アンパサンドじゃなくてセミコロンを区切りにすればいいのに。
0327nobodyさん
03/08/12 10:48ID:???MSのサイトはたまにセミコロンになってるのあるなぁ。
0328nobodyさん
03/08/12 11:15ID:???0329nobodyさん
03/08/12 12:53ID:???0330nobodyさん
03/08/12 14:25ID:???一瞬PATH_INFOってことかと思ったが、
hoge.cgi?key1=value1/key2=value2/key3=value3
ってやると
QUERY_STRING: key1=value1/key2=value2/key3=value3
PATH_INFO: (null)
ってなるのか(Apache)。
しかし、ブラウザでフォームの送信すると & で繋がってくるわけだから
別の文字にするのはなんか嫌だな。
0331nobodyさん
03/08/12 15:57ID:???0333nobodyさん
03/08/12 17:50ID:???http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/appendix/notes.html#h-B.2.2
0335nobodyさん
03/08/12 18:59ID:???古い仕様はたぶんこの先もずっと引きずりつづけるから、面倒だね。
0336nobodyさん
03/08/12 19:38ID:???現状の殆どのブラウザはフォームの内容を送ってくるときにアンパサンドで繋ぐよ。
GETもPOSTも同じ。multipartは別だけど。
0337324
03/08/13 01:56ID:???も&で表示されちゃうのね。。。しらなかった。
ところで、実は、(>>324だと両者が同じためわからないと思うので再掲しますが)
ネスケ7.1(Win版)で、
<a href="foo.cgi?hoge=fuga&hage=tara">リンク</a>
が正常に動いて、
<a href="foo.cgi?hoge=fuga&amp;hage=tara">リンク</a>(←便宜上アンパサンドは全角)
で正常に変数をうけとってくれないのですよ。。。
よくある一般的な、
$query = $ENV{'QUERY_STRING'};
local(@query) = split(/&/, $query);
foreach (@query) (以下略)
{でやってるんですが・・・
ネスケのバグなのか、あるいは自分のスクリプトがどっかおかしいのか。。。
0338324
03/08/13 01:57ID:???レスくれたみなさん、ありがとうございます。
W3Cがセミコロン推奨してるとは、しらなんだ・・・
0342nobodyさん
03/08/13 02:30ID:???HTMLの文字実体参照 &lt; とか &amp; とかと、
URLに変数を埋め込む時のやりかたとが、
ごちゃまぜになってないかい?
0343nobodyさん
03/08/13 04:05ID:???&
<
>
"
♠
♣
♥
♦
0345nobodyさん
03/08/13 11:34ID:???だから実体参照を意識しなくちゃならないアンパサンドよりも
セミコロンを使った方が常に楽だと思う。
CGIモジュールを使わないにしても、
my @query = split(/[&;]/, $query);
んな風に書き換えるだけでいいから、移行も楽だし。
0346324
03/08/13 13:41ID:???え、同じじゃないんですか?
たとえば、
<input type="hidden" name="hoge" value="1<>2<>3">
は間違いで、
<input type="hidden" name="hoge" value="1&lt;&gt;2&lt;&gt;3">
が正しいですよね?
だから、URLに変数を埋め込むときも、
foo.cgi?hoge=1&lt;&gt;2&lt;&gt;3
がただしいと思ったんですけど・・・
0347nobodyさん
03/08/13 13:44ID:???0348nobodyさん
03/08/13 13:52ID:???問題の切り分けをきっちりしないと、いつまで経っても進まんよ。
HTML上&と書くのは正しいし、Navigator7.1で
他の人は問題ないって言っているよね。
最低限再現するソースを用意してみればいいんでない。
問題があると*思い込んでいる*箇所だけじゃなくて全部。
0350nobodyさん
03/08/13 14:38ID:???<input type="hidden" name="hoge" value="1<>2<>3"> も
<input type="hidden" name="hoge" value="1<>2<>3"> も
正当なHTML。間違いではない。
が、後者のように記述するよう推奨されている。
~~~~~
双方とも、foo.cgi?hoge=1%3C%3E2%3C%3E3 として送信される。
< と > は、RFC2396 http://member.nifty.ne.jp/moha/rfc/rfc2396j.txt
が定める予約文字でも非予約文字でもないので
%xx 形式にエスケープされて送信される。
<a href="foo.cgi?hoge=1<>2<>3"> も
<a href="foo.cgi?1<>2<>3"> も
HTMLの属性値としては正当。
が、%xx 形式にエスケープされてないので、URLとしては不正。
0351324
03/08/13 14:39ID:???うーん、Perlでhtmlをprintしている途中で、
-------------------------------------------------------------
my $HtmlSubsidy_exam_intro;
if (($FlagSoudan == 1) && ($in{'q' . $sw2_num} == 1)){
foreach $key (sort keys %in){
$HtmlSubsidy_exam_intro .= qq|$key=$in{$key}&|;
}
$HtmlSubsidy_exam_intro = qq|
<script language="JavaScript">
window.open('./?|.$HtmlSubsidy_exam_intro.qq|mode=intro','','toolbar=no, width=510, height=170');
</script>
|;
-------------------------------------------------------------
ってなかんじです。(JavaScriptはここでしか用いてません)
これだとネスケ7.1で正常に動作して、
$HtmlSubsidy_exam_intro .= qq|$key=$in{$key}&|;
のところの&を&amp; にすると、値をちゃんとよんでくれないんですよね・・・。
ところで、本来だと&amp;でサーバに渡して、
local(@query) = split(/&/, $query);
で処理できるわけですが、&amp;から&への変換(?)は、
どこでどのタイミングで行われてるのでしょうか?
Apacheがクエリーストリングを受け取った瞬間?
0352324
03/08/13 14:45ID:???1分差で、>>350さんが答えてくれましたね。
ありがとうございます。
RFC2396 さらっと見しましたが、とりあえず、理屈はわかりました。
これからじっくり読んでみます
0353nobodyさん
03/08/13 14:57ID:???Netscape7.1の問題じゃなくて、>>324=>>351の
スクリプトがおかしい。
ところで、セミコロンに変えるのを試していれば、
すぐに解決してたような。
0354324
03/08/13 15:59ID:???>>>353さん
>とりあえず解答は出たね。
いや、&だと正常に動作して、
&amp;だと正常に動作しない(値をちゃんとよみとってくれない)んです。。。
つまり、本来と逆のように思われるのです。
もしスクリプトがおかしいとしたら、
どこがおかしいかご指摘していただけますでしょうか?
0355nobodyさん
03/08/13 16:01ID:???「初心者」という文字列を含む名前をエラーではじきたいのですが、
どうすればいいでしょうか?
一応、「初心者」であればエラーを返すようにしています。
if ($i_nam eq "初心者") { &error("任意の名前でお願いします"); }
この場合だと「PC初心者」をはじくことができません。
正規表現を使わなければいけないというのはわかっているのですが、
if ($i_nam =~ /初心者/)
ではダメなんでしょうか?
よろしくお願いします。
0357355
03/08/13 16:12ID:???http://pc2.2ch.net/test/read.cgi/php/1059043704/l50
へ逝きます。
0358nobodyさん
03/08/13 16:33ID:???& → & の変換はHTMLの話。JavaScriptとは関係ない。
HTML
<a href="foo.cgi?hoge=1&huga=2&hage=3">
リンククリック時に foo.cgi?hoge=1&huga=2&hage=3 として送出。
JavaScript
location.href = "foo.cgi?hoge=1&huga=2&hage=3";
実行時に foo.cgi?hoge=1&huga=2&hage=3 として送出。
locationと同様、window.open() の第1引数(URL値)に含まれる & が
& に変換されないのはJavaScriptの仕様。
Netscape謹製のブラウザで正しく動作しないのは当たり前。
そして、既にこの時点で板違い。→ Web制作 http://pc2.2ch.net/hp/
0359nobodyさん
03/08/13 18:47ID:???&amp;って書けばええよ。
0360nobodyさん
03/08/13 18:55ID:???0362nobodyさん
03/08/13 20:09ID:kY5HHstyApacheを1.3.27から2.0.47にアップグレードした所
あるPerl/CGIが極端に重くなってしまいました。
5分経っても表示されない、という感じなのです。
いろいろ見たところ、
#!/usr/local/bin/perl -w
と-wフラグをつけたモノだけが遅いので試しに外してみたら
サクっと表示しました。
Apache/1.3.27の頃はつけようがつけまいが問題なかったものです。
原因によってはスレ違いかもしれませんが、
原因が皆目見当が付きません。
どなたか心当たりのある方いらっしゃいませんか?
0364nobodyさん
03/08/13 21:46ID:???-w ってけっこう厳しく警告をだすためのフラグだっけ?
実行しているソースから警告がでまくっていて処理が遅いと
そんな感じだと思われ
0365362
03/08/13 21:54ID:???ホンチャンサーバでは問題なく動いているのです。Apache/1.3.26 (Unix)
テストサーバもApache/1.3.27 (RedHat)の時は問題なく動いてました。
Apache/2.0.47にした途端の症状なのです。
-w付きでチェックしてもシンタックスおっけなんです。
-w外すと問題なく動きます。
0366nobodyさん
03/08/13 23:16ID:???さあ?Perl が出力するログをトラップしてerror_logに出力するのに、
Apache2.0では時間がかかるようになったとしか漏れの頭では思いつかないけど。
普通にコマンドラインから # perl hoge.cgi としても実行結果が遅いのか?
それか -wって警告を多めに出すだけだからはずせば?
0367364
03/08/13 23:18ID:???すんません、この話にレスするのもうやめます
0368324
03/08/14 01:32ID:???>locationと同様、window.open() の第1引数(URL値)に含まれる & が
>& に変換されないのはJavaScriptの仕様。
>Netscape謹製のブラウザで正しく動作しないのは当たり前。
なるほど、これですごい納得しますた。ありがとうございました。
0371nobodyさん
03/08/14 10:43ID:???<a href="affiliate.cgi?partner=http://www.abc.net/&location=http://www.foo.jp">りんく</a>
っていうのは、正しいですか?
>>350さんがあげてる
FC2396 http://member.nifty.ne.jp/moha/rfc/rfc2396j.txt
を読んだものの、いまいち意味が理解できず・・・
0372nobodyさん
03/08/14 12:55ID:???Set-Cookie: $cookiename=$cookievalue; の$cookievalueの部分って、
文字長に制限はあるのでしょうか?
http://www.futomi.com/lecture/cookie/specification.html
にある仕様書を見る限り、なにも文字長については書いてないようですが。
0373371
03/08/14 13:15ID:???ただしくは、
<a href="affiliate.cgi?partner=http%3a%2f%2fwww.abc.net%2f&location=http%3a%2f%2fwww.foo.jp">りんく</a>
ですね、失礼しました。
0374nobodyさん
03/08/14 20:13ID:???HTMLは
>>350から引用
>ちなみに
><input type="hidden" name="hoge" value="1<>2<>3"> も
><input type="hidden" name="hoge" value="1<>2<>3"> も
>正当なHTML。間違いではない。
>が、後者のように記述するよう推奨されている。
> ~~~~~
引用終わり
だと思われ。
0375nobodyさん
03/08/14 20:54ID:???たしか1024文字まで。
ただし、「$cookiename=$cookievalue;」 ←これを全部含めて1024文字までだと思った。
つまり、= とか ; とか クッキーの名前 とかもその制限に入る。
たしか。
0376nobodyさん
03/08/14 22:16ID:???ttp://www.futomi.com/lecture/cookie/specification.htmlから引用
>一つのクッキーにつき4KBまで。name と OPAQUE_STRING は、
>4KBまでの形式に結合されます。.
引用終わり
全部含めて4096バイトが容量制限。
キャラクタセットによって文字数は左右されるから、自分で調べてね。
0378nobodyさん
03/08/14 23:53ID:???www.foo.co.jp で発行したクッキーを、
www.bar.co.jp で取得することはできますか?
>>292 で言ってるみたいに、
www.foo.co.jp でクッキーを発行するとき、
「domain=bar.co.jp」とすれば、
www.bar.co.jp で取得できるのかなーと。
なお、今はまだ環境がととのってないので、テストで試してみることができず・・・
0380378
03/08/15 01:46ID:???あ、そうか、仕様として、そもそも発行元のドメインと取得先のドメインが違うとダメってことですか?
つまり、仕様書のdomain の項目で書いてある「後方一致」ってのは、
あくまで同じドメインでの話しってことですか?
(例だした方がわかりやすいかな・・・)
acme.comにおいて、domain=acme.comとしてクッキーを発行すると、
anvil.acme.com ではそのクッキーを取得できるけど、
hoge-acme.comでは、そのクッキーは取得できない。
・・・という理解で間違いないですか?
0383山崎 渉
03/08/15 22:33ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0384nobodyさん
03/08/16 12:45ID:KHB072f80385nobodyさん
03/08/16 15:53ID:jb3r1JoJ一般的な共有サーバで動かすことを前提にすると。
0386nobodyさん
03/08/16 22:30ID:grNQSJhAhttp://www.sexpixbox.com/pleasant/teen/index.html
0387nobodyさん
03/08/17 21:30ID:ycQ+dswyフレームを使っている性で全部リファラがindexになってしまいます。
使っている鯖はSSIは使えませんし、.htaccessも使えません。
どうすればリファラが取れるんですか?教えてください。御願いします。
すれ違いだったらすいません。
0388nobodyさん
03/08/17 23:46ID:78eH/B6l0389nobodyさん
03/08/17 23:47ID:78eH/B6l気にしなくて良し。
0390nobodyさん
03/08/17 23:57ID:???http://pc2.2ch.net/test/read.cgi/php/1060808783/171
マルポ
0391nobodyさん
03/08/20 19:32ID:M8LljIzL<input type=checkbox name="SHUMI" value="PC">パソコン
<input type=checkbox name="SHUMI" value="SP">スポーツ
<input type=checkbox name="SHUMI" value="RD">読書
のようなことができるようですが、これはいつ頃から可能になったのでしょうか?
5年ほど前は
<input type=checkbox name="SHUMI_PC" value="1">パソコン
<input type=checkbox name="SHUMI_SP" value="1">スポーツ
<input type=checkbox name="SHUMI_RD" value="1">読書
のような形でがんばっていたような記憶があるのですが
気のせいでしょうか?
0392_
03/08/20 20:02ID:???0393nobodyさん
03/08/20 20:43ID:???上手くやればできる。
今も5年前も10年前も。
0394nobodyさん
03/08/20 20:49ID:???えぇ!うまくやればってどういうことですか?
昔も前者の書き方ができたのかどうか聞きたいのですが。
ロジックの問題ではなくHTTPプロトコルレベル、または
WebブラウザとWebサーバーの対応状況の話だと思うのですが・・・
0395nobodyさん
03/08/20 20:53ID:???RFC1866あたりだよ
0397nobodyさん
03/08/20 23:22ID:???つか、今流通してるブラウザで、
<input type=checkbox name="SHUMI" value="PC">パソコン
<input type=checkbox name="SHUMI" value="SP">スポーツ
<input type=checkbox name="SHUMI" value="RD">読書
に対応してないブラウザってあるの?
平気な顔して使ってるんですが・・・
0398nobodyさん
03/08/22 00:19ID:???まさか……大丈夫だよな。
0399nobodyさん
03/08/22 00:46ID:???もう駄目だろうな。
0400nobodyさん
03/08/28 15:42ID:ER3uJlrJでは、
●クッキーを発行したあと、
●Location:ヘッダで www.hoge.com/bar.cgi にとばす
の処理をしてます。
で、質問です。
www.hoge.com/bar.cgi の中の処理で、ついさっき発行されたクッキーを読もうとしたとき、
クッキーは読み込めるのでしょうか?
環境依存なのでしょうか?
0401nobodyさん
03/08/28 17:18ID:???0402400
03/08/28 18:26ID:ER3uJlrJあ、ごめんなさい。
「クッキーに対応して、有効にしているブラウザ」の中でを条件に加えてください。
0404nobodyさん
03/08/28 22:09ID:???試したの?
0405nobodyさん
03/08/29 01:22ID:???www.hoge.com/foo.cgi
The page cannot be found
The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
--------------------------------------------------------------------------------
Please try the following:
If you typed the page address in the Address bar, make sure that it is spelled correctly.
Open the home page, and then look for links to the information you want.
Click the Back button to try another link.
HTTP 404 - File not found
Internet Information Services
--------------------------------------------------------------------------------
Technical Information (for support personnel)
More information:
Microsoft Support
0406nobodyさん
03/08/30 08:37ID:???0407nobodyさん
03/08/31 00:28ID:???use CGI;
my $q = CGI->new;
my $file = '/hoge/hoge.jpg';
binmode(STDOUT);
$| = 1;
print $q->header(-type=>'image/jpeg');
open ( IN, $file );
binmode ( IN );
while ( <IN> ) {
print STDOUT;
}
close ( IN );
close ( STDOUT );
これで普通は動くよな?
0408nobodyさん
03/08/31 00:30ID:???0409nobodyさん
03/08/31 01:56ID:???パスは間違いない?
my $file = './hoge/hoge.jpg'; なら表示されたけど
0410nobodyさん
03/08/31 01:58ID:???こんな場所に画像ファイルを置いてるのか?
ビックリだ。
0411407
03/08/31 02:02ID:???こんなことも言い忘れるとはよほど慌てていたようです。
>>409
パスは絶対指定しています。なので、この形式でいいかと。
>>410
ああ、これはサンプルのパスです。正しいのをさらすと、ユーザー名とかがわかってしまうので。
えーと。なんでだめなんだろう。
0413nobodyさん
03/08/31 02:36ID:???0414nobodyさん
03/08/31 03:05ID:???0415nobodyさん
03/08/31 03:07ID:???openのエラー処理してねーし。
0416407
03/08/31 21:59ID:???ビンゴでした。吐いたらうまく表示してくれました。
ありがとうございました。
>>413
今後は注意します。ありがとうございました。
>>415
ご助言ありがとうございます。エラートラップもつけました。
>>414
毛ジラミでしたら、早急に医者に行った方が・・・
0417nobodyさん
03/09/01 10:36ID:???>cookie
0418nobodyさん
03/09/02 00:31ID:tJK7g1eGBサーバにそれをcsvのデータとして置きたいと思います。
これを実現するにはどうすればいいのでしょうか?
というか、ふつうどうするもんなんでしょうか?
●Aサーバにあるcgiから、(ソケット通信で)FTPかSSHでBにログインして、csvファイルをはき出す。
●Bサーバにもcgiを設け、そこで、AサーバからBサーバを(ソケット通信で)httpで呼び出して、
Bサーバのcgiがcsvをはき出す
くらいしか思いつかないのですが・・・
あと、Aサーバがhttpsで、Bサーバがhttpの場合、このやりかただとデータは暗号化されますか?
0419nobodyさん
03/09/02 00:38ID:???csvがそのうちxmlになる可能性も考えるとhttp経由がいいかもね
暗号化はあくまでもサーバがhttpsの場合だけ
(クライアントもhttps知っている必要はあるが)
だからBがAを呼び出す状況で無いと暗号化はされません
0420nobodyさん
03/09/02 01:01ID:hJ9owds6当然のようにHな事態に発展していくのですがいやーリアルリアル。
オマンコからダラダラ流れ出るマン汁、青筋の浮き出たチンチン。
現実ではあり得ないシチュエーションにリアルさがある秀作!
エロアニメがいっぱい。セーラー服美少女実写版も大好評。
今すぐ無料ムービーを!!
http://66.40.59.76/index.html
0421nobodyさん
03/09/16 00:39ID:???処理中に適当にタイムスタンプでも使ってファイル作って
ソレが存在してる間は処理中と判定させるとか。
で自信でも別スクリプトでも良いから適当にそのファイル名を送って
ソレを一定時間毎に読んで、消えたら完了のページ開くみたいな。
hoge.cgi
処理開始→判定用一時ファイル作成→Locationで飛ばす→処理終了→ファイル消す→exit()
huga.cgi?filename
クエリ読む→ファイルがあるかどうか調べる→あったらLocation略→なかったら終了した事を知らせてexit()
hoge.cgiがタイムアウト等で一時ファイルを消せなかった時の為に有り得ない程時間掛かってたらさくっと消す
素人考えだけど駄目かなー。
0422nobodyさん
03/09/16 16:37ID:???一番汎用的な方法ってなんでしょう?
(ちなみに言語はPerlですが、それは本質的なことではないですよね?)
SSL_PROTOCOL環境変数が空か否かで判断するのかな、と思ったのですが、
どうするのがベストでしょうか?
0425nobodyさん
03/09/17 20:33ID:???同じ動作をするcgiが、全く同じ条件でpostメソッドでcgiにアクセスしても、
Internal Server Errorがでるときと正常動作するときがあります。
Internal Server Errorがでても、リロードすると、正常動作してしまうので、
不可思議なのですが・・・。
これは、どんな原因が考えられるのでしょうか?
0426nobodyさん
03/09/18 04:23ID:???(ちなみにスクリプト自体の文字コードはEUC)
それを、&jcode::convert(\$in{$key}, "jis");
みたくして、JISに変換して(正確にいうと、変換しようとして)、
それをメール本文(もちろんJIS)中に変数として入れたら、
文字化けする可能性ありますか?
もしあるとしたら、
&jcode::euc2jis(\$in{$key});
と明示的に文字コード変換したら、
文字化けがなおる可能性はありますか?
実は文字化けではまってるものの、
文字化けが再現できなくなってしまっていて・・・。
0428425
03/09/20 03:11ID:???でも、リロードしてら正常動作するもんで、手がかりがつかめません。
同じことをしてるのに、違う結果がでるなんで・・・と。わけわからん状態です。
どっから疑っていけばいいんでしょうか?
0430425
03/09/21 16:58ID:???>タイムアウト
いや、タイムアウトの可能性はないかと。
すぐにInternal Server Errorになったので。。。
>負荷ぎりぎりで動いてるとか
でも、これが可能性高そうです。ちょっと調べてみます。
0431nobodyさん
03/09/21 17:01ID:???ソースを公開するなり、そちらが情報を提供する気がないのならこれ以上質問するなよ。
こういう掲示板はGive&Takeによって成り立っているって理解している?
0432430
03/09/21 21:55ID:???>ソースの公開は、仕事の都合上、できないので、すみません。
あと、いちお、名無しでですが、Giveはこのスレでも他のスレや板でも、してます。いちお。
0433nobodyさん
03/09/21 23:31ID:???その現象が起きる20行程度のソースを晒せば?
それでも仕事の都合上無理ってんなら>>431の言う通り。会社の人に聞けば?
y=x+1が与えられてyの値はいくつでしょう?と聞かれても誰もわからんのでは?
0435nobodyさん
03/10/17 10:28ID:M5vTMTcpページが正常に表示されず、ファイルのDLを始めようとするようです。
同じサーバーの他のプログラムは正常に表示するようで、吐き出す
ヘッダも同じにしてるはずなんですが。
本来相手の環境を調べるべきなのですが、素人なので聞かれてる内容も
理解できないらしく、上手く情報が伝わって来ません。
なにか考えられる原因、思い当たる方いませんか?
0437nobodyさん
03/10/17 11:26ID:5bzSqekM後は、Webサービスのマッピングをチェックしてみるってのはどうでしょう?
さすがにそれぐらいしか答えようがないですね。
0438nobodyさん
03/10/17 12:05ID:???>>437
まあ、そうですよね。
ただ同じサーバーの他のスクリプトでは問題ないようなのです。
もちろん当方からのアクセスではそのスクリプトも含めて全て正常に表示されます。
なんとも再現しないのでわからないのですが、
状況からすると、ある特定の環境で問題を起こすCGIの記述の可能性、
と予想したのですが。
0441nobodyさん
03/10/17 15:28ID:???あと、アドレス欄の最後のパラメタを拡張子と誤解して
誤動作するブラウザがある
0442nobodyさん
03/10/17 16:40ID:???http://www.hoge.net/huga.cgi
のようにCGIを直接呼ぶ事で単純に表示するルーチンに飛ばしてます。
で、当人が言うにはブラウザから、
「このファイルは開けません。ファイル huga.cgi」とか、
「検索の結果、以下のソフトウェアが見つかりました。
このソフトウェアを利用するとファイルを開くこと
ができます。
ファイルの種類: Common Gateway Interface」
とか言われるらしいのです。
ただ、それもこの特定のCGIだけなんですよね。
wget試してみます。
0443nobodyさん
03/10/17 16:50ID:???Length: unspecified [text/plain]
なんてなってます。
他のCGIは、
Length: unspecified [text/html]
になってるんですが。。。
ヘッダは以下のようにtext/htmlで送出してるはずなんですが。
--
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
--
0444nobodyさん
03/10/17 17:00ID:???0445435
03/10/17 17:06ID:???で、Content-type: text/html の送出をスクリプトのなるべく前の
方に持ってきたら
Length: unspecified [text/html]
と表示されました。
これで問題ないかアクセスしてみてもらいます。
しかし、これはどういうわけでしょうか?
後学のためどなたかお分かりの方お教え下さい。
0447nobodyさん
03/10/17 17:32ID:???0448435
03/10/17 17:35ID:???検索していませんでした。
検索しましたが、どこにもありませんでした。
実はこのスクリプト、個別の設定情報を書いた複数の違うhoge.cgiから、
共通ライブラリであるcommon.plをrequireする仕様で、
それぞれのhoge.cgiにはユニークな固有の設定情報のみ記述し、
スクリプトのほとんどはcommon.plにあります。
当初送出するヘッダはcommon.plに書いてあったのですが、
Content-type: text/html のみhoge.cgiに持ってきたら
wgetでhtmlが確認できました。
text/plainはhoge.cgiにもcommon.plにもどこにもありませんでした。
0449nobodyさん
03/10/17 21:16ID:???大事な内容をCGIで送信するのにベストな方法ってありまつか?
0450nobodyさん
03/10/17 21:34ID:???何が何だかわからないのでご存知の方いたらご教授願います。
「○○サーチ」というある検索エンジンに自分のサイトを登録しようとしたら、
何度やっても「コマンドが不正です」と出る。
新規登録は動いているからサーチ自体には問題ないようだ。
てことは自分のパソコンに何か原因があるのでしょうか?
0453450
03/10/17 21:59ID:???まだサイトは登録してないから拒否とかはないはず、
登録画面に入るボタンを押すと「コマンド〜」が出たんですよ。
なんなんだほんと。
0455nobodyさん
03/10/18 00:04ID:???だから検索エンジンってのがあるように、
登録しようとした君のサイトを自動的に見に行って
登録するにふさわしくないと拒否られたんだって
0456nobodyさん
03/10/18 04:12ID:???使うだけの人間はここで質問するな。
0457nobodyさん
03/10/18 04:15ID:???どうやらその検索サイトはHTMLの文法をチェックしているみたいですね。
HTML-lintで90点以上取らないとダメみたいです。
0458450
03/10/18 21:13ID:???レスサンキュ。登録あきらめることにしたよ…_| ̄|○
さっきいったらサーチがダウソしていてめんどくなりますた
スレ違いすまんな。さらば!
0459nobodyさん
03/10/18 23:12ID:???ベストっていったら、
(SSLは必ず使うとして・・・)
●メールは、もし流すなら、
ウェブサーバ、送信メールサーバ、それを受信するメールサーバとも、
セキュリティ的に安全なネットワーク内部で完結させること。
とかいいつつ、自分もよく分かってない。
・・・詳しい人フォローきぼんぬ、、、
0460nobodyさん
03/10/19 00:13ID:???0462nobodyさん
03/10/27 00:03ID:???0463nobodyさん
03/10/27 10:59ID:???0464nobodyさん
03/10/27 16:10ID:???0465nobodyさん
03/10/27 20:46ID:???0466nobodyさん
03/10/29 12:37ID:aayFZnQswindowsでは\r\nContent-Type:となっているけどmacだと\rContent-Type:ってなるんですか?
0467nobodyさん
03/10/29 12:41ID:???仕様上は改行コードに依存せず
常に\r\nじゃないといけなかったかな?忘れた
0468nobodyさん
03/10/29 12:52ID:???0469nobodyさん
03/10/30 17:06ID:???CGIで、設置ユーザのドキュメントルートを絶対パスで取得することってできますか?
例えば、test というユーザが、
http://server/~test/cgi-bin/test.cgi
という名前でCGIをアップしたときに、test.cgi で
http://server/~test/
と同じ場所の絶対パス(ex: /home/test/public_html )を取得したいのです。
設置ユーザがサイトの管理者であれば、
$ENV{'DOCUMENT_ROOT'} で、
/var/www/html なんかが取れるんですが、
ユーザ毎にサイトを作れる設定にした場合、
$ENV{'DOCUMENT_ROOT'} では取れませんよね…
0470nobodyさん
03/10/30 19:58ID:???$path = 'http://' . $ENV{'HTTP_HOST'} . $1;
}else{
$path = 'http://' . $ENV{'HTTP_HOST'} . '/';
}
こんなところかな?
スマートではないけど。
tu-ka,Perlの話はPerlスレ逝け。
0471nobodyさん
03/10/30 20:47ID:???スマン。
取得したいのは絶対パスの方っす。
/home/test/public_html ね。
説明がわかりにくかったかも
一応 %ENV 絡むんで CGIスレで妥当かと思いマスタ
0472nobodyさん
03/10/31 01:12ID:???_,..,_ ノ´//⌒ ミヾヽ、_
_____ ,r'´ ``'' - 、ーニ三彡´〃 ! ゙ゞヾ、_`ヽ
[|<|____├{ /´ { l | // ヽ`ーr' }
″ ! `、 ' ノ l. ||l i l / l ああっ、つ、つらいです...
', | ̄``''''ー―- ,'´l l |!` ‐--| l l l
', | l l | リ,! l
', | | | ,! ' リ
,.r''ヽ、 _ ', | |. |
,' ` ' ' ' ' ' ' ´ `ヽ ! | |
/ ,.r'´ ̄ '''''' ─−-........__ ,.r' | '''"''‐-、
~´  ̄ ̄ ̄
0474nobodyさん
03/10/31 06:04ID:???そんなのとって何するんだ?
0475nobodyさん
03/10/31 11:40ID:???目的としては、
http://server/~user/cgi-bin/query.cgi?file=/index.html
のようなクエリーで、
/home/user/public_html/index.html
のファイルを取得したいって感じかな?
単純にperlに /index.html を渡すと、
本当にルートからの /index.html になってしまうので、
それをどうにかしようと /home/user/public_html を調べて
/home/user/public_html/index.html としたいってことでつ…
0476nobodyさん
03/10/31 13:30ID:???こんなのでできないか?
$path = $ENV{'SCRIPT_FILENAME'};
$path =~ s/$ENV{'SCRIPT_NAME'}//;
あとは$pathにクエリーストリングのファイル名をくっつけてやれば
0478nobodyさん
03/10/31 23:37ID:NZRYtOAF0480nobodyさん
03/11/01 02:11ID:???0481nobodyさん
03/11/01 03:03ID:???あぁ、欲しいのはユーザディレクトリなのね。
「ドキュメントルートを絶対パスで」しか見てなかったよ。
なら、プログラム内や設定ファイルで陽に指定するしか
確実な方法は無いだろうね。 cgi-bin ディレクトリと
ユーザのドキュメントルートの位置関係は設定次第で
いくらでも変わるからね。
cgi-bin ディレクトリがユーザのドキュメントルートの下に
存在するなら >>476 でOK。
0482475
03/11/01 10:32ID:???そうっす。ユーザディレクトリ。
やっぱりCGIスクリプト内に直書きするしかないかな…
一応配布CGIとして考えてるんだけど、
CGIをDLするユーザって、
その鯖内の自分のユーザディレクトリパスなんて知らんしね。
下手すりゃ file=/etc/passwd とかってやられそうだ(ガクガクブルブル
(↑これを /home/user/public_html/etc/passwd にできればええんやけど)
0484nobodyさん
03/11/01 18:41ID:???それに関して詳しく書いてあるサイトなどはありませんでしょうか?
googleなどで探してみたのですが、検索ワードが悪いのかいいサイトが見つかりませんでした。
対策なども含めてかかれているサイトがありましたら、どなたかお教えください。
0485nobodyさん
03/11/01 19:33ID:???ISO-8859-1 なら %A0 は no-break space ( ) なので
どっちゃでもいい気もするが。
情報を小出しにせず再現できる条件を全部書いてくれんか。
0486nobodyさん
03/11/02 00:02ID:???レスありがとうございます。
再現条件は自分ではよくわからないのです。
自分の投稿では普通に%20になっているようで、誰がどの状況になった時に
%A0になるかがはっきりとわからないので。
条件絞りきる力がなく申し訳ありません。
%A0についてですが、どっちゃでもいいとおっしゃられますが、我が家のマシンで
%A0の文字をブラウザで見ると半角の「・」みたいに表示されます。
気にしなければ気にならないのかもしれませんが、できれば解決したいと思っていまして。
Perlの正規表現で置き換えようともしたのですが、%A0は「あ」の2バイト目であったりと
なかなか上手くいきません。
それで資料を探していたのです。
0487nobodyさん
03/11/02 02:10ID:???だからぁ、小出しにしないでって言ってるでしょ。(w
「あ」の 2 byte 目が %A0 なのは Shift_JIS 。
Shift_JIS では 1 byte 文字としての A0 は未定義だから
(特定の環境では) 半角の「・」みたいに表示される。
言語は Perl らしいし置換で事が済むのならこの辺。
http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm
0488nobodyさん
03/11/02 12:11ID:???・環境
Web上のPerlCGIにてデータを取得している。
送信者はどのような環境かわからない。(条件の限定ができない)
フォームから送信された取得はPerlで行なっているが、その後
取得データをCプログラムで処理することもある。
また、今後Perlで送信データの取得を続けるとは限らない。
スクリプトの文字コードはS-Jisで行ない、結果作成もS-Jisで行なっており、
CプログラミングはVCで行なっている(S-Jis以外使えない)ので、文字コードの変更は困難。
送信フォームもMETAタグにてS-Jis指定を行なっている。
データ取得で使うサーバーはRedHat、Cプログラムを走らせるのはWindows。
S-Jisの状態で%A0を%20に置き換えようとすると「あ」などの文字が化けてしまう。
・目的
%A0が送信されない環境が作れればベスト。
もしくは%A0を%20に上手く置き換える手法を知りたい。
正解のみをここで聞くのではなく、できれば自分できちんと理解し、応用できるようにしたい。
思いつくだけの情報を羅列してみました。
他に足りない情報があればご指摘ください。
紹介されたページはこれからじっくりと読んでみようと思います。
ありがとうございます。
0489nobodyさん
03/11/02 12:29ID:???お前自分で何言ってるか分かってる???
Shift-JISなら「あ」=「%82%A0」だから
>%A0を%20に置き換えようとすると「あ」などの文字が化けてしまう。
当たり前
0490nobodyさん
03/11/02 12:31ID:???それはわかっています。
だからこそ、「上手く置き換える手法」を知りたいのです。
0491nobodyさん
03/11/02 12:33ID:???S-Jisの半角スペースである%20に置き換えたいと。
0492nobodyさん
03/11/02 12:48ID:???ってことは
>Macからのフォーム送信だと、半角スペースが%20ではなく%A0になる事があるのですが、
これは本当のことなのか?
てっきりShift-JISの文字列見て%A0を空白と勘違いしただけなんだと思ってた。
先頭から1文字ずつ見ていくしかないだろう。
別の文字コードでどうなるか試してみたら?
0493nobodyさん
03/11/02 13:13ID:???<FORM accept-charset="Shift_JIS">
を試してみるとか。macのブラウザが対応してるのかどうかは知らん。
あるいは
<FORM enctype="multipart/form-data">
で常にバイナリ送信させるとか。
0494nobodyさん
03/11/02 14:21ID:???>492
アクセスログを見たところ、%A0になってしまっていたのはいずれもUAがMac_PowerPCの方でした。
確認できた件数が6件と少ない為に断言はできませんが、Macからの送信で化ける可能性が高いと判断したのですがいかがでしょう?
自分ではMacマシンを所有していないので、正確な調査が行なえず申し訳ありません。
試行錯誤の末、>487のリンク先や、Perlメモの記述を参考に、1文字ずつ見ていくような処理が行なえるようになりました。
これでしばらく様子を見ようかと思います。
別の文字コードで試すというのは、「別文字コードでの送信」という意味でしょうか?
後程、やり方を調べた上で試してみたいと思います。
>493
accept-charasetは知りませんでした。
早速試してみたいと思います。
0495nobodyさん
03/11/02 14:22ID:???ttp://www.att.or.jp/perl/cgi-tech-tips.html
ここに掲載されていた、CGI出力ヘッダでの文字コード指定と.htaccessによるADDType指定も
同時に行なった事を報告させていただきます。
0497nobodyさん
03/11/02 14:53ID:???自分がこの属性に着目したのは、Operaから文字を投稿するとき
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
と指定していても、送信フォームの内容をShift_JISと判別してくれなかったから。
全部Shift_JISの半角カナで投稿すると、OperaはそれをEUC-JP全角と自動判別して
それをShift_JISに変換してから送信するので、CGI側で受け取った段階で既に文字が化ける。
最初はjcode.plの問題かと思ったけど、jcode.plを外しても同じだったのでほぼ間違いない。
0498nobodyさん
03/11/02 15:33ID:???0499nobodyさん
03/11/02 16:57ID:???0500nobodyさん
03/11/02 22:32ID:???自分で確認できないのは厳しいですね。
後から気付いた事とわかった事を少しだけ載せます。
文字化けした6件ともMacのMSIEだった。(MSIE5.16〜5.22)
一部の人の証言ではS-Jisのページで出ていた文字をコピペしたとの事。(全員がそうであるかは不明)
>497
ご指摘ありがとうございます。
危うく間違えるところでした。
0501nobodyさん
03/11/04 01:41ID:ZhxpP0UW教えてはもらえませんか?
0503501
03/11/04 13:37ID:???CGI::Carp素晴らしいですね。
use CGI::Carp qw(fatalsToBrowser);
とやるだけでdieや文法エラーに対してブラウザに
エラー内容を表示してくれなんて。
CGIの開発がかなり楽になりますね。
しかも標準モジュールなので別途インストールの必要は
ないみたい。今まで知らなかったよ。
本来の機能はHTTPDのログにエラー内容を書き込んでくれる
ということでよろしいですか?
0504nobodyさん
03/11/04 13:45ID:???0505nobodyさん
03/11/04 21:05ID:Ljvqwop4Redirect ^/hoge/abc([0-9]{4})\.html$ http://example.com/index.cgi?a=1&b=$1
で動作させると、
?が%3f &が%26になり、&のところで、ループしているようなURLを吐き出します。
ここで、解決できたのでしょうか?
0506nobodyさん
03/11/04 21:33ID:???Apache 限定の話題は Apache スレへ。
http://pc2.2ch.net/test/read.cgi/php/1043851302/
Redirect (mod_alias) じゃなく Rewrite (mod_rewrite) 使えば可能。
0507nobodyさん
03/11/04 21:56ID:xEdoNAPc0508nobodyさん
03/11/04 22:14ID:???ていうか、そもそも「普通の掲示板」って何だ。2ch型は普通じゃないのか。
0509nobodyさん
03/11/04 22:27ID:???それとも駅構内の掲示板が「普通」なのか
0510nobodyさん
03/11/05 07:59ID:???0511nobodyさん
03/11/05 08:29ID:???0512nobodyさん
03/11/13 01:19ID:???クッキーにログインパスワードを暗号化したものを食わせて、
画面が遷移するたびにその暗号化パスワードと本当のパスワードを認証させるとか。
Apacheのセッション管理モジュールとかは虫で、
Perlだけでできるようなの他にあったらきぼんぬ
0513nobodyさん
03/11/13 08:34ID:???例え暗号化していても、クッキーにパスワードを持たせるべきではない。
ログインしたときにセッションIDを持たせて、それで認証するのがセオリー。
セオリーだから細かい部分は調べれば資料はすぐに見つかるはず。
0514512
03/11/13 13:22ID:???セッションIDを発行して、それをクッキーに持たせてSSL通信にすれば
今のところPerl-CGIでできる最善の方法かもしれないすね。
セッションIDは、普通、発行時刻とプロセス番号をくっつけてcryptするのが主流なんでしょうか?
まあユニークで、盗聴に耐えうるものであればなんでもいいような気がしますが。
で、セッションはサーバー上に生成するファイルで管理すると。。
本当にこれでセキュリティ上安全なのか不安になったのでみんなに聞いてみたまででつ。。
他にこういうことしてるとかあったら教えてくさい
0515nobodyさん
03/11/14 10:39ID:???セッションIDにtimeとプロセスIDでユニークにしつつセッション開始時刻をとって、
セッション開始時に発行したセッションIDのファイル名のファイルを作って、
次にセッションIDでアクセスしたときに、毎回セッションファイルリストをチェックして、
存在すれば、そのセッションの開始時刻を見て、制限時間を切れてたら削除。
問題なければセッション継続。
でよろしいか?
てかこれしか思い浮かばん。
0516nobodyさん
03/11/14 11:12ID:???0517nobodyさん
03/11/14 14:55ID:???0518nobodyさん
03/11/17 14:42ID:WakYOncEさらに次のcgiに同じパラメータを渡す事ってできる?
0519nobodyさん
03/11/17 15:20ID:???0520518
03/11/18 11:25ID:2RvczggN環境はVinelinux2.2+CGI.PM+Perl4です
0522nobodyさん
03/11/18 11:51ID:???0523nobodyさん
03/11/18 14:44ID:???0524518
03/11/18 19:41ID:???POSTで渡す方法はありますか?
0525nobodyさん
03/11/18 19:46ID:???ヘッダのみじゃ不可能なのはわかるよな?
0526518
03/11/18 20:23ID:???二つ目のcgiへの渡し方がわかりません。
GETなら引数に書いてやればいいのですが
0527nobodyさん
03/11/18 20:29ID:???検索とかしてみた?
検索したならどういう単語で検索した?
0529518
03/11/18 20:48ID:???を発見しました。
できればはじめのcgiで作ったフォームから次のcgiに渡したいのですが・・・
Javascriptとかを使わないと無理ですか?
0530http://mokorikomo.2ch.net/
03/11/18 23:19ID:???0531nobodyさん
03/11/19 11:00ID:???その場合、認証成功した人が、HTMLのソースを見ると普通に画像のパスがわかってしまい、
アカウントを持っていない人でも、そのURLを教えてもらえれば見れてしまうのですが、
何かいい考えはありますでしょうか?
0532nobodyさん
03/11/19 11:43ID:???http://httpd.apache.org/docs-2.0/howto/auth.html
http://support.microsoft.com/default.aspx?scid=kb;ja;324276
0533531
03/11/19 11:56ID:???ありがとうございます。
すいません、情報不足でした。
BASIC認証は使わずに、CGIで認証をした人にだけ見せたいです。
遷移としては、
インデックス⇒ログイン⇒画像ページ⇒HTML内で画像表示
BASIC認証でやる場合、ログイン部分に置けば万事解決ですが、
ログインCGIを使用しているため、
ログインアカウントと、画像を表示するアカウントの二つが存在するのは
あまり望ましくないですね。
0534nobodyさん
03/11/19 14:04ID:???cgiに画像を読み込ませてそれを出力すればいいんでないの?
0535nobodyさん
03/11/19 17:10ID:7+Nu5MKS探しているのですが有料ばかり(^^;)
0536nobodyさん
03/11/19 17:32ID:???【CGI】こんなCGI探してますver.1.1【素材】
http://pc2.2ch.net/test/read.cgi/hp/1067286961/
0537nobodyさん
03/11/19 17:33ID:???漏れの案
認証した人だけに見せるページはCGIが吐き出す。
画像のパーミを400とか600にして、直に見ようとしたら403エラーが出るように汁。
これでどうだ。
0538nobodyさん
03/11/19 18:16ID:???CGI プログラム経由で吐くなら、画像ファイルをドキュメントルート
以下に置く必要は全く無い。つか >>534 と結婚。
>>533
ログイン CGI とやらが何をする為のものか分からん上に、サーバ
環境も許されている権限も分からん。BASIC認証が使えん理由も
分からん (ログイン処理を変えられるなら、アカウントを .htpasswd
で一括管理すれば済む話) 。
あと本質的に、アカ持ってる奴が画像キャプチャしてバラ撒いたら
終わりなので、こういう部分に力を入れても労多く益少ない上に
正規ユーザが不便なだけ。
0539nobodyさん
03/11/20 00:05ID:nKwXTSg6perlのデバッガを使用したいのですが、以下のメッセージが出力されており実行できません。対応方法を教えてください。
Can't locate perl5db.pl in @INC (@INC contains: /opt/perl5/lib/5.00502/PA-RISC1.
1 /opt/perl5/lib/5.00502 /opt/perl5/lib/site_perl/5.005/PA-RISC1.1 /opt/perl5/li
b/site_perl/5.005 .).
BEGIN failed--compilation aborted.
[環境]
OS:HP-UX11.0
perlのバージョン:version 5.005_02 built for PA-RISC1.1
[補足事項]
@本環境ではperl4と5が共存しております。それぞれのパスは以下のとおり
/usr/contrib/bin/perl ・・・ver4
/usr/contrib/Q4/bin/perl ・・・ver5.00502
以上、よろしくお願いします。
0541nobodyさん
03/11/20 05:40ID:EAgQK2Up0542nobodyさん
03/11/23 12:07ID:???改行コードは、UNIX系OSならLF、WindowsならCR+LFに変換してUPする必要があるけど
文字コードは、EUCだろうがSJISだろうが、
ブラウザへの出力、フォームからのクエリーストリングなどが、
スクリプトの文字コードと一致するように注意していれば全然問題ないかと思うんだけど、
この考えって問題ある?
0543nobodyさん
03/11/23 12:28ID:???0545nobodyさん
03/11/23 12:53ID:???#!/usr/bin/perl\r <-こんな感じ。perl\rってコマンド作ってやるか、
#!/usr/bin/perl --\r みたいに、 オプションをつけることでCRLFでも動作する
つまり、改行コードはCGI動作の本質的な問題ではない
0546542
03/11/23 13:02ID:???となると、
#! /usr/bin/perl --
ってやっとけば、別にShift_JIS+CRLFでも無問題か。。
配布CGI作るときに、メモ帳でもいじれるようにできそうだね。
0547_
03/11/25 05:32ID:???状況が分かりやすいようにサンプルソースを書いてみました。
<form name="f" method="POST" action="xx.cgi">
<input type="text" name="t1">
<input type="button" name="b1" value="【push】" onClick="f1()">
</form>
<script language="javascript">
function f1(){
document.f.t1.value = "1";
document.f.submit();
}
</script>
上記のコードは【push】ボタンを押した際、t1フィールドの値に"1"がセット
されて、xx.cgiにPOSTされるものです。
Win環境ではしっかりt1の値に"1"がセットされたものが渡るのですが、
Mac環境だとなぜかt1の値がnullになってしまいます。
手動で入力した時は問題なく渡るようなのですが・・・
ちなみにMACの動作環境はOSX、IE6です。
これはMACの仕様なのでしょうか?
期待通りにデータを渡す方法がありませんでしょうか?
もしどなたかご存知の方がいましたらご教授ください。
よろしくお願いします。
0549nobodyさん
03/11/25 06:59ID:???http://pc2.2ch.net/test/read.cgi/php/1012750353/301
0550ぱくちゃん
03/11/25 17:12ID:UdoS9gNtビープ音を鳴らしたいんですけど、どなたか方法を知りませんでしょうか?
0551ぱくちゃん
03/11/25 17:14ID:UdoS9gNt0552nobodyさん
03/11/25 17:21ID:???Perl の話は Perl スレへ。
http://pc2.2ch.net/test/read.cgi/php/1066286828/
http://search.cpan.org/~giulienk/Audio-Beep-0.10/
0553nobodyさん
03/11/25 19:21ID:UeVyDd4ahttp://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
http://2chp.net/
0554あらスィー
03/11/25 20:15ID:???0555nobodyさん
03/11/26 11:04ID:???Windowsでcgiファイル作ってUnix(Linux)サーバにアップするとき、
FTPソフトによっては、勝手にCRLF->LFに変換してくれる場合があるよ。
0556ぱくちゃん
03/11/26 15:50ID:+ZoCfoLgを鳴らそうと思ったのですが、うまく行きません。どうしたらよろしいでしょうか?
0558ぱくちゃん
03/11/26 16:37ID:+ZoCfoLg「・」が表示され、音はならない状況ですが…
0559ぱくちゃん
03/11/26 16:41ID:+ZoCfoLgいます。「・」が表示され、音はならないようですが...
0560nobodyさん
03/11/26 22:02ID:???ほら、たとえばCRLFを表示しても改行しないでしょ。それと同じで。
0561nobodyさん
03/11/26 22:49ID:???0562nobodyさん
03/11/27 00:33ID:???0563nobodyさん
03/11/27 09:12ID:???0564nobodyさん
03/11/27 10:34ID:???としても鳴らないね(win xp pro)
perl -e "print \"\n\""
だと改行されんだけど。
0566nobodyさん
03/11/27 12:21ID:???コマンドプロンプトでだけど
0567ぱくちゃん
03/11/27 14:01ID:qZERqfQcXP、95どちらでもできました。あと、ビープ音をならすプログラムをC
で作成し、これをexecコマンドでCGIから呼び出しましたけれど、
音は出ませんでした。
ブラウザはIEVer5とOperaでやってみました。ブラウザが鳴らしていな
いのでしょうか?なにか設定があるのでしょうか?
0568nobodyさん
03/11/27 14:08ID:???全部本人か知らないが、マルチで書きまくってたから
教えてはやれないがな
0569nobodyさん
03/12/02 17:48ID:???イメージとしては、
<a href="hoge.cgi#here">アンカー</a>
みたいな。
0573nobodyさん
04/01/11 13:15ID:upkQsXWIすみません、どなたかわかる方いますでしょうか?
CGI.pm を使ったフォーム送信(ファイルアップロード付き)→DB登録
の処理をするCGIを、SSLをかけたサーバで動作させてます。
フォーム送信する要素数(inputタグ)が少ないうちは問題なく登録できますが、
要素数が多くなる(20個くらい)につれて、以下の2つの症状が出る確立が増えます。
(確立があがるだけなので、要素数が多くても問題なく登録できる場合もあります)
(1) フォーム送信後、読み込み中のまま応答しなくなる。
→数分後、IEデフォルトの「ページを表示できません」が表示される(IEで見た場合)
(print STDERR でデバッグしたところ、決まって my $query = new CGI; の部分で止まる)
※読み込み中に、ブラウザの中止ボタンを押すと、my $query = new CGI; から先に進みます。
(2) フォーム送信後、CGIの処理に行く前に、「ページを表示できません」が表示される。
再現できるバグならまだいいのですが、上手くいくときといかないときがあるのが辛いです。
CGI.pmのバグかと思い、最新の3.01にバージョンアップしましたが変わりませんでした。
ちなみに実行環境は以下の通りです。
OS: Kondara Linux 2.4.18
WWW: Apache/1.3.29 mod_ssl/2.8.16 OpenSSL/0.9.7c
Perl: ver 5.6.1
CGI.pm: ver 3.01
0574nobodyさん
04/01/11 14:24ID:Ua0H5zjqmod_perlで動かすCGIの拡張子って皆さんどう付けています?
べつに拡張子区別したりしないですか?
0575nobodyさん
04/01/11 14:57ID:???0576nobodyさん
04/01/11 15:04ID:Ua0H5zjqあは。そうっすね(笑)
Apache::Registryで動かすファイルのことです。
0577nobodyさん
04/01/11 22:42ID:???ScriptAliasで同じディレクトリ内をべつのアドレスに変えるだけさ
0578nobodyさん
04/01/15 16:35ID:WbVNIjHLhttp://www.hoge.fuga/index.cgi?1234
と認識させることできる?
0580パソコン使用中@さわらないでね
04/01/15 19:44ID:gKp4Nezk携帯でやりたいんだけど
そうゆうCGIってある?
0583nobodyさん
04/01/23 11:09ID:???<!--b_start-->bbbbb<!--b_finish-->
<!--a_start-->aaaaa<!--a_finish-->
<!--b_start-->bbbbb<!--b_finish-->
ってかかれてるHTMLがあって
CGIで、flagが1だったら<!--b_start-->〜<!--b_finish-->までを隠して
<!--a_start-->〜<!--a_finish-->を表示。flagが0の場合はbを表示してaを非表示をしたいです。
パターンマッチで置換するのはなんとなくわかるのですけど、
具体的にどうすればいいのかがサパーリです。
すみませんがご教授願います。
0584583
04/01/23 11:51ID:???$html =~ s/<!--b_start-->.*?<!--b_finish-->//sg if ( $flag );
すいませんいけました。
0586nobodyさん
04/01/24 00:26ID:sB1NzHfUから誘導されてきましたー。
現在ログをHTMLファイルとして吐き出す掲示板を作っています。
動作自体は問題ないのですが、HTMLをファイルとして吐き出して上書きする
性質上、 パーミッションが606にならざるを得ません。 suExecはナシってことで。
こうしたHTMLファイルをサーバー上に置いた場合、外部から書き換えられる
危険性があるでしょうか。
まあ、普通の掲示板のログファイルが勝手に書き換えられるというのも聞かない
ので大丈夫だと思うのですが。
スクリプトでも埋め込まれると目も当てられないので。
過去ログ全部たどったら、「ダメだ」と「いや大丈夫だ」となってて、どっちでしょう?
0588586
04/01/24 00:40ID:sB1NzHfUCGI上からのchmodのできないサーバーです。
情報小出しで申し訳ない。
0589nobodyさん
04/01/24 00:49ID:???外部から書き換えられる危険性はほとんど無いが、
内部から書き換えられる危険性は結構高い。
例えば、君がそのCGIをどっかのプロバイダの共用サーバ上で動かしているとして、
その共用サーバは suExec 使っていない、つまり全ユーザのCGIが同じ実効uidで動いているわけだが、
そのプロバイダに俺も入会して、同じ共用サーバにアカウントもらったとする。
そしたら俺は、速攻で「そのサーバ上の全ディレクトリを回って606のファイルを見つけるCGI」を組んで
次に「606ファイルを好きに書き換えるCGI」を組んで
俺が将来何か素晴らしいことを思いついた時に踏み台にできるよう準備しておく。
何の役に立つかはよくわからないが、何をやったとしてもまず足が付かないので、理想的な環境だ。
もちろん、俺のようなやつは世の中にそうそういないので、
そんなやつと同じサーバで出会う確率は無視できるほど小さい、と言うこともできる。
0590586
04/01/24 01:10ID:sB1NzHfU> その共用サーバは suExec 使っていない、つまり全ユーザのCGIが同じ実効uidで動いているわけだが、
> そのプロバイダに俺も入会して、同じ共用サーバにアカウントもらったとする。
> そしたら俺は、速攻で「そのサーバ上の全ディレクトリを回って606のファイルを見つけるCGI」を組んで
> 次に「606ファイルを好きに書き換えるCGI」を組んで
なるほど。つまり書き込み権限のあるフォルダにHTMLがあればどうにでもなる、と。
707などというパーミッションはとんでもない、ということでいいですか?
サーバー側でホームディレクトリ以下のファイルしか変更できないような対策があれ
ば安心?
サーバーがAppachだとして、管理者がsuExecを導入しない理由ってなに?
とまで聞いたらスレ違いでしょうか。
0591nobodyさん
04/01/24 01:23ID:???予想
a. 昔 suexec を入れてなくて そのまま入れる機会を逸している。
b. suexecを知らない
c. suexecはプロセスの起動数が倍になるので、負荷を避けるために導入していない。
(httpd → CGIなプロセス が httpd → suexec → CGIなプロセスになる)
0592nobodyさん
04/01/24 01:47ID:???bは論外として(笑)。
一応いまのところは問い合わせたときに「当面予定はありません」だったのでcかな。
いちおうもう一度、上記のようなケースに対策をとっているのか問い詰めて、
導入を薦めてみます。
とはいっても配布を視野にいれているので、そこそこいろんなサーバーで動かない
となぁ。
選択制でchmodの機能は入れるとして、セキュリティ上は堅いとはいい難い、と・・・。
今日はこれで寝ますが、対策・絶対ダメなど、何か他に情報ありましたらよろしくお願い
します。
>>587>>589>>591 ありがとうございました。
0593nobodyさん
04/01/24 09:51ID:???0594nobodyさん
04/01/24 16:31ID:PL//gjDgありますか?
0595nobodyさん
04/01/24 16:42ID:???use CGI; 行の先頭を # でコメントにすることぐらいかな
0596nobodyさん
04/01/25 12:38ID:???CGI.pmは使うなと?
フォームデータのデコード、Cookieの生成、ヘッダの出力にしか
使ってないので自前で作っちゃった方がいいかなぁ。
0598nobodyさん
04/01/25 21:00ID:???HTML::Template や LWP, DBI みたいにもっと重いモジュールをがんがん使う俺様から見ると、
もはや誤差のうち
0599nobodyさん
04/01/25 22:33ID:???CGI
HTML::Template
DBI
を同時に使うことはよくある。
0600nobodyさん
04/01/25 22:54ID:???0601nobodyさん
04/01/25 23:47ID:???俺の自宅鯖 (Pen4/3G) だと、たいていの CGI は 5〜10msec で実行が終わるが
use CGI と書くだけで 50msec に跳ね上がる。
しかし use HTML::Template は 60msec 食うし
use DBI に至っては 80msec 以上かかる (しかもこれにはDBDのコンパイル時間は入っていない)。
mod_perl でこの辺のモジュールを全部キャッシュしておけば
何も問題なくなるのだが。
0603594
04/01/26 00:27ID:???CGI.pm部分だけ自作しても焼け石に水ってことですか。
0604nobodyさん
04/01/26 01:01ID:???0605nobodyさん
04/01/26 09:45ID:???楽がしたいから使うんだけどな。
Perl使いが一番重要視する効率はコーディングの効率だと思うんだけどどうよ。
感覚的なものだけどさ。
0606nobodyさん
04/01/26 10:01ID:???0607nobodyさん
04/01/26 13:17ID:???以下のようにしました。
ただ追加書き込みしているだけですがflockはした方がよいでしょうか?
また、その場合どのようにすればよいでしょうか?
open(FH,">>index.log");
print FH $date_time . "\t" . $host . "\t" . $user_agent . "\t" . $http_referer . "\r\n";
close(FH);
0608nobodyさん
04/01/26 13:52ID:???禿しくスレ違い
Perl コーディング初心者質問コーナー Part31
http://pc2.2ch.net/test/read.cgi/php/1072896288/l50
逝ってよし
0609607
04/01/26 13:57ID:???0612nobodyさん
04/01/26 22:16ID:???0613nobodyさん
04/01/26 22:42ID:???HTML::Template を見つけたよ
ループのネストとか「おお俺って賢いじゃん」と思ってたんだがなあ…
0615613
04/01/27 02:13ID:???Template クラスと Tag クラスがあって、
Template オブジェクトに Tag オブジェクトを「貼り付け」る。
Template オブジェクトは HTML::Parser 使ってテンプレートファイルをパースしてって、
それらしいタグにぶつかると、対応する Tag オブジェクトの print メソッドを呼び出して、
戻り値をタグの代わりに挿入する。
Tag クラスは Tag::Base クラスを基底として継承したものをいくつか作ったんだが、
ループするタグだとか、if/unless タグだとか。ネストするときは Tag に Tag を貼り付ける。
将来他に新しいタグを思いついたときにも、同様に Tag::Base を継承したクラスさえ作れば、
Template クラスには一切手を加えずに機能拡張できる、つー。
しかし完成直後に HTML::Template を見つけ、
ほとんど全ての機能が既に実現されていたと知り、
新しいタグを作る気も失せてしまった…
0616nobodyさん
04/01/27 02:18ID:???ちりもつもればなんとやらで、
HTML::Templateの作法を頭にいれちゃえば、使い回しきくので便利。
(まぁ、自作のモジュールをすでにそーいうのを作っているならいいけど)
でも、複数人がコーディングしたり引き継ぎとかの場合、
ドキュメントがちゃんとあるから、HTML::Template のほうがいいかなと。
⇒http://member.nifty.ne.jp/hippo2000/perltips/html/template.htm
あと、HTML::Templateってそのまんま置けばつかえる(SSH接続不要)というのも好き。
0617nobodyさん
04/01/27 11:03ID:???俺も最初自作のモジュールを使ってたんだけど、やっぱ事実上Perlの
標準であるHTML::Templateの方が引継ぎの時等に便利なんだよね。
ちなみに俺の場合、<TMPL_VAR NAME="hoge">というのがどうしても
嫌だったから、勝手に%hoge%という書式に変更して、newするときに
filterオプションで置換して使ってます。
TMPL_LOOPやTMPL_IFは<!--#tmpl_loop name="hoge" -->みたいに
SSI風書式にしてます。
0618す
04/01/28 14:22ID:i/cjCs6gCGI 起動するときに環境変数 DOCUMENT_ROOT がなかったらダメですか?
apache 自体にはまったく問題ないんですけど、CGI 開発者としてのご意見きぼん。
0619nobodyさん
04/01/28 14:36ID:???ttp://www.palcom.ne.jp/hosting/support/server_independent.html
みたいな書き方をしているサイトが結構あるらしい
0622nobodyさん
04/01/28 14:45ID:???DOCUMENT_ROOT はApacheが独自につけてくれる環境変数みたいなので
なくても、公式のCGIとしてはOKなのでは。
ただし、Apacheにどっぷり遣ったようなCGIプログラムは必要としてるかも。
参考
http://hoohoo.ncsa.uiuc.edu/cgi/env.html
http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html
0623622
04/01/28 14:55ID:???0624nobodyさん
04/01/29 15:43ID:pGuQUw/Wブラウザの戻るボタンで戻る場合、先ほどの書き込み内容が
フォームの中に残っている時と残ってない時があるのですが、
これを確実に残して置く方法ってあるのでしょうか?
0625nobodyさん
04/01/29 16:03ID:???俺もそういう方法があれば是非知りたいと個人的には思っているのだが
たぶんブラウザの側の実装や設定の問題なので
CGIからは手出しできないんじゃないかと見ている
0628nobodyさん
04/01/29 18:01ID:???0629nobodyさん
04/01/29 19:26ID:???どうもIEだとvalueの値が優先されて表示される模様。
経験則なので嘘かもしれないw
0630nobodyさん
04/01/29 20:44ID:???わかりません。
パールを変えただけでは駄目ですよね?
0631nobodyさん
04/01/29 23:34ID:???新語キター
0632nobodyさん
04/01/29 23:55ID:???0633nobodyさん
04/01/30 00:04ID:HPifPmukUP板です。
ファイルとかの。
0634nobodyさん
04/01/30 02:51ID:???配 布 元 で 聞 け
0635nobodyさん
04/01/30 04:10ID:???0636nobodyさん
04/01/30 04:22ID:???0637 ◆LLLLLLLLL.
04/01/30 10:45ID:r6WYD04Xhoge.shtmlのなかに上下に2つfoo.cgiをexec cgiで呼び出す記述をし、
foo.cgiの方で、UserAgentを見て携帯電話の時とPCの時に処理を分け、
それぞれ表示させてるんですが、
携帯ユーザーの時は、上下2つあるうちの下の方は、
何も表示させないようにしたいんです。
cgiからの戻り値をssiに渡すことができるなら、
cgiから、表示させる文字列に加えて、携帯の時はフラグとして1を返し、
フラグが立ってたら下のexec cgiは実行しないような書き方をすると
出来るのではないかと思うのですが、、
何処を探してもそういうことが出来ると書かれたところを見つけられませんでした。
ssiスレを探しましたが無いようで、こちらに書かせていただきました。
何かいい方法無いでしょうか?
#ssi側でUAを判定することで下のexecをさせなくすることはできるのですが、
#cgi内でも表示させる文字列を分けるためUA判定する必要があるので、2度でまなんです
つまりssiとcgiで、変数を共有、若しくは戻り値、引数として値を渡せないかということです。
0638637
04/01/30 10:47ID:???間違ってperlスレに書き込みしてしまいましたんで↑はコピペです。
よろしくお願いします。
0642637
04/01/30 14:22ID:???それがexec cgiは引数渡せないみたいなんです(とほほさん調べ)
>>640
最悪それでいこうかと考えてたんですけど・・
大きいスクリプトなんで、主な処理を別ファイルにして、
ssiから呼ばれる上用CGIと下用CGI、
それぞれからメインのCGIをrequireしようかと・・
どうやらどうしても変数などを渡すことは出来ないようなんで、
負荷など若干気になりますがそれでいこうかと思います。
有難うございました。
0643nobodyさん
04/01/30 14:34ID:???exec cmd なら渡せる(ARGV渡し)
0644nobodyさん
04/01/30 14:37ID:???0645nobodyさん
04/01/30 14:41ID:???うちのApache2.0.39だとexec cgiで引数渡せたんだがな・・・
バージョンによって違うのかな?
んで、
SSIで<!--#set var="TYPE" value="TOP">とかやると
$ENV{'TYPE'}でとってこれるみたい
0646ありがdです
04/01/30 14:49ID:???ごめんなさい。exec cmd使えない鯖なもんでexec cgiなんです。
>>645
なんか環境によって使えたり使えなかったりらしいです。
うちのローカルでは使えなかったんですけど、
鯖で一回試してみます。
>>644
includeって読み込んで実行してくれるんですか。
ちょっとこっちも試してみます
0647訂正
04/01/30 14:50ID:???調べてきます
0648nobodyさん
04/01/30 14:54ID:???SSIで判定して呼ばないとかは、CGIの範疇を超えてると思うですが。
0649nobodyさん
04/01/30 14:56ID:???俺もすっかり見落としてたが、
ttp://tohoho.wakusei.ne.jp/wwwssi.htm#If
ここらへん使えばいけそう?
0651nobodyさん
04/01/30 15:40ID:???やはり、exec.cgiで引数は渡せなかったんですが、
(ローカル5.8.0、鯖5.6かな?)
騙されたと思って下のほうの
>SSIで<!--#set var="TYPE" value="TOP">とかやると
>$ENV{'TYPE'}でとってこれるみたい
これをやってみると、ちゃんと変数渡せてました。
これは私が、「引数」などで検索してたため、見つからなかっただけで、
実は当たり前のことなのかもしれませんね。
有難うございました。これで期待通りのことが出来そうです。
0652nobodyさん
04/01/30 15:44ID:???apacheは1.3.29だと思います。
0653nobodyさん
04/01/30 16:13ID:???HTTP_USER_AGENTじゃあかんの?>判断材料
まぁ とりあえずSSIでCGIから返り値をとってくるのはムリポ
CGI中でENV書き換えてみたけど普通の方法じゃやっぱり保存できないみたいだし
>>651
思惑どおりにいきそうらしいので何よりです。 カンパレ
0655nobodyさん
04/01/30 18:42ID:???君の質問が意味不明だから相手にされないんだよ
CGI設置について質問
http://pc2.2ch.net/test/read.cgi/php/1054216089/
過去ログを読んでテンプレに従って質問してみ
0656nobodyさん
04/01/30 20:30ID:???こんなにcgi使ってサーバーに怒られないんですか??
0658nobodyさん
04/01/31 00:27ID:???自分の掲示板に組み込もうと思って。
0661nobodyさん
04/01/31 06:20ID:???0662658
04/01/31 10:32ID:???普通に気づかなかった。
投稿者の記事削除機能で使ってたのに。
テンキュー。
0665nobodyさん
04/02/03 00:14ID:???どうも安いレンタルサーバーで動かすと激烈に重い。
今、上位100スレの全ログから抽出するのに成功したけど、全部で700以上のスレがあるんだよね。
どうにか軽くする方法ないですかねー。
0666nobodyさん
04/02/03 00:27ID:???こうゆうこと言ったら元も子もないがCGIでやることではないような。
クライアント側でやるべきでは?
例えばそのようなIEツールバーを作るとか。
0667nobodyさん
04/02/03 01:49ID:???1.定時に巡回してログを収集する(cronか何かで)
2.ログを解析し、DBにぶちこむなり、IDでindexを張るなり(これもcronか何かで)
3.CGIは、DBないしindexを検索するだけ
0668nobodyさん
04/02/03 07:01ID:???0669nobodyさん
04/02/03 09:57ID:???0670nobodyさん
04/02/03 20:53ID:???利用する技術はopen文、CGIモジュール、param関数、ファイル読み込み、ファイル書き込み、です。
これがwrite.htmlのソースです。
↓
<html>
<body>
<body background=star-k2.gif>
<center>
<font size="7"color="#FF00FF">掲示板のプログラム</font><br>
</center>
<font size="4"color="#00FFFF">氏名</font><br>
<center>
<font size="5"color="#FFFF00">書き込みの内容を指定してください ;</font><br>
</center>
<center>
<form action="write. cgi">
<input type="text" name="contents">
<input type="submit">
</center>
</form>
</body>
</html>
0671つづき
04/02/03 20:55ID:???↓
#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI qw(:standard);
$value = param("contents") ;
???????????????????
?ここに何を入力するかわかりません。?
???????????????????
print "<html><body>";
print "書き込みが終了しました";
print "</body></html>";
これがresd.cgiのソースです。
↓
#!/usr/bin/perl
print "Content-type: text/html\n\n";
??????????
ここに何を入れるか???
?????????????
print ???????
print ???????
print ??????
print ???????
以上です。わっけがわかりません。友達みんなこうゆうの弱いんで今みんなパソコン詳しい人に頼み込み中なんです…
誰か教えてください!
0673nobodyさん
04/02/03 21:58ID:???レスありがとうございます!
でも…馬鹿ですいませんが、自由にソースコードを書くことすら出来ない
のが現状です…大学の講義で、情報処理関係の講義を選択したのですが、
もうなにがなんだかさっぱりわからなくて…HTMLの基礎をかじったぐらい
の知識しかないので…
もしよろしければ、もう少し教えていただけませんか?
「勝手にしろ」とおっしゃられるかもしれませんが、ホントお願いします!
0675nobodyさん
04/02/03 22:39ID:???0676nobodyさん
04/02/04 04:15ID:???0677nobodyさん
04/02/04 13:07ID:???痛い香具師なのは十分わかってるんですが…
右も左もわからない状態でして…
やっぱり自分でとことん調べるべきですよね。。
なんとか頑張ります。
ありがとうございましたm(_ _)m
0678nobodyさん
04/02/08 23:32ID:???現在mod_perlを使ってるのですが、
時間のかかるスクリプトの場合、途中でブラウザ側が読み込み中止をしても
最後までスクリプトは実行されるものなんでしょうか?
15秒程度のスクリプトで実験したところ、中止した後も最後まで実行されているようでした。
更新作業をするスクリプトで、一旦更新するブロックに入ったら
何があっても最後まで実行させたいのですが、まれに途中で止まってしまっているようで
原因がよくわかりません。
タイムアウト以内に終わるのであれば、ブラウザで読み込みの中止をしても最後まで実行される
ものなんでしょうか?
それとも、fork,execなりsystemなりして別プロセスとして動かしたほうがいいんでしょうか?
0679678
04/02/08 23:34ID:2J+W47Q/どういうタイミングで、実行中のスクリプトが終了するのかが分からないんです。
0680nobodyさん
04/02/08 23:49ID:???symlinkやmkdirを使って自前でロックしてるみたいなんだけど
flockじゃやっぱりロックしきれないのかな?
0681nobodyさん
04/02/09 00:50ID:???fork して入出力 (STDIN/OUT/ERR) を閉じれ。
完了確認はメール送るなりなんなりすれ。
http://www.google.co.jp/search?q=CGI+%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88
>>680
Perl の場合は NFS 越しの flock は意味を成さないのと、
flock を実装していない OS に対応する為に、排他処理を
自作ルーチンでやる事がある。これらに当てはまらない
環境で使う事が分かっているなら flock が無難。
…という話は散々既出で嫌がられるので、以後はこの辺に。
http://pc2.2ch.net/test/read.cgi/php/1024795138/
0682nobodyさん
04/02/09 00:54ID:???flock は CGIとは直接の関係もないのではないかと(ry
0684nobodyさん
04/02/09 12:15ID:???mod_perl のことは難しいので、普通のCGIのケースに限って話をすると、
apache の場合のポイントは二つある。
一点目、apache が CGI を実行するときは、
クライアントとの TCP 接続について結構無頓着で、
CGI からデータが送られてくるまでは感知せず、
データを受け取って、つまりクライアントにデータを送信する段になって、
初めて TCP 接続をチェックして、
ここでようやく「切れてるじゃん」ということに気づく。
気づくと、CGI プロセスを kill しにかかる。
それじゃあ処理が完了するまでデータ送らなきゃ良いじゃん、
という話になるわけだが、まあやっぱりそういうわけにもかず、
二点目として、apache は、一定時間 CGI から出力がないと、
タイムアウトとみなし、CGI プロセスを kill しにかかる。
普通はこっちに引っかかるだろう。
上記は普通の CGI についての話であって、
mod_perl でコンテンツハンドラを書く場合はまた話が異なる。
Apache::Connection クラスには aborted という素敵なメソッドが用意されているぐらいで
いろいろ楽しいことができそうに思うのだが、
詳しいことは mod_perl スレに行って詳しい人に聞いてくれ。
0685nobodyさん
04/02/10 19:09ID:???エロ動画に直リンできるCGIを組んだんだけど
これを公開したら転送量がものすごいことになることに気づいた。
リクエストそのままで指定したURLに飛ばしたりはできない…よね。
やっぱり各自DLして使ってもらうしかない?
0686nobodyさん
04/02/10 19:58ID:???0687685
04/02/10 22:04ID:???0690685
04/02/11 14:53ID:???できないってことだよね。そうします。ありがとう。
>>689
できるならuser-agent, refererを偽装したまま
redirectする方法を教えてください。
0691nobodyさん
04/02/11 15:17ID:???CGI proxy なんてやる意味はあまりないぞ
重いだけ
0693685
04/02/12 09:35ID:???ふつーにローカルで動かすスクリプトにしました。
>>692
無理だと思ってたけど誰も答えてくれないし
689を見てできるのかなと思ってしまいました。
0695nobodyさん
04/02/12 16:41ID:???(エロい人の思考パターン)
エロ動画に直リン -> httpリクエストを弄らなきゃ!
-> >>690でやっぱり偽装か -> 無理
(ノーマルパターン)
各自DL -> 意味あるのか分からんが(;´Д`)リダイレクトで可能
0696nobodyさん
04/02/15 07:40ID:YoBoJyolテキストメールとhtmlメールの両方を1通にまとめて送ってます)、
htmlメール部分の文字コードは・・・
●規約としては、どのコードにするのが正しいのでしょうか?
また、
●現実問題として、どのコードににするのが「無難」なんでしょうか?
ご存じのかた、教えていただければ幸いです。
0697nobodyさん
04/02/15 07:55ID:zLVCaZamしたディレクトリにHTMLファイルを置いてもブラウザでその
HTMLを閲覧できません。(permission denied error)
どーしても cgi-bin ディレクトリにHTMLファイルを置きたいのです・・・。
宜しくお願い致します。
<Directory "/usr/local/apache/htdocs/cgi-bin">
SetHandler perl-script
AddHandler cgi-script .cgi .pl
PerlHandler ModPerl::Registry
Options ExecCGI
Allow from all
PerlSendHeader On
</Directory>
0698nobodyさん
04/02/15 12:25ID:bW2T2U/Mメールフォームで画像も添付できるようにしたいと思っています。
今はココ(ttp://www.annie.ne.jp/~cgipal/doc/palskin.htm)の
palskin mail ver.5というのを使っています。
できればこれに書き足してできれば最高なのですが…
こういう事は可能でしょうか?
0699nobodyさん
04/02/15 13:30ID:???【 スクリプト改造工房 PART 7 】
http://pc2.2ch.net/test/read.cgi/php/1063780103/
ちなみにその文面のまま依頼すると叩かれるので注意。
1をちゃんと読むこと。
0701nobodyさん
04/02/26 20:49ID:???http://fuga.com/ に Location でリダイレクトしました。
でもアドレスバーのURLは http://hoge.com/ のまま。
こういうもんなのでしょうか?
リダイレクト後にリロードすると、hoge.com で送信した内容が二重で送信されてしまいます。
これもこういうもんなのでしょうか?
0702701
04/02/26 21:06ID:???だと、アドレスバーはリダイレクト前から変化せず
print qq(Location: http://hoge.com/\n\n);
だと、アドレスバーが http://hoge.com/ になってくれますね。
相対パスだと変化しなくて、
httpからのURLだと変化するようです。。。
とりあえず確認したことをご報告します
0703nobodyさん
04/02/26 21:12ID:vjE+BrRn0706nobodyさん
04/02/26 21:57ID:???0707nobodyさん
04/02/26 23:29ID:???0709nobodyさん
04/02/27 01:42ID:???つまり http://からはじめれと
0711nobodyさん
04/02/27 02:44ID:???http://cgi-spec.golux.com/draft-coar-cgi-v11-03-clean.html#7.2.1.2
hoge.comは中の人に迷惑だからやめれ。
0713nobodyさん
04/03/02 19:04ID:AJEsvSvh投稿に文字実体参照を使いたいのですが、&をサニタイズからはずすと、どういうマズイことがあるのでしょうか。
文字実体参照と解釈できるものだけ再置換してもいいんですが、特に問題がないようなら外してしまおうかと。
あと、<>についても、どちらか一方だけ文字実体参照に置き換えておけば大丈夫というのは誤りですか?
0716nobodyさん
04/03/02 21:48ID:???>&をサニタイズからはずすと、どういうマズイことがあるのでしょうか。
>あと、<>についても、どちらか一方だけ文字実体参照に置き換えておけば大丈夫というのは誤りですか?
具体的実害は思いつかないが、少なくともHTMLとして文法違反になるのは確か。
予期せぬ表示上の不具合を発生させる可能性は否定できない。
そもそもなんでそんなにサニタイズを端折りたいの?
ちなみに俺は、HTML4.01の仕様に存在する実態参照だけは許して、
それ以外の&は&に置換するルーチンを書いた。
ここに貼り付けようと思ったが長すぎて拒否された。
0717716
04/03/02 21:52ID:???>それ以外の&は&に置換するルーチンを書いた。
>ここに貼り付けようと思ったが長すぎて拒否された。
区切って書いてみる
sub sanitizeamp
{
my ($str) = @_;
# 数値参照は OK (ただし末尾の ; が欠けている場合は補う)
if ($str =~ s/^?(\d+|x[0-9A-Fa-f]+);?/?$1;/) { return $str; }
# HTML4 に実在する文字参照は OK (ただし末尾の ; が欠けている場合は補う)
(続く)
0718nobodyさん
04/03/02 21:55ID:???0719nobodyさん
04/03/02 21:57ID:???|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof
(途中途中に入っている改行は削除すること)
0720716
04/03/02 21:59ID:???0721nobodyさん
04/03/02 22:01ID:???それでいて
> 思わないなぁ。そんな上っ面にはとらわれない主義だから。
> もっと本質を見ようね。
とか言っているんだから救いようがない。
具体的に色々問題があるわけだが、馬鹿には教えても無駄のようだから省略。
一見便利そうで利用者・閲覧者全員に迷惑を与える危険性の高いスクリプト
でも作って自己満足していれ。
0722713
04/03/02 22:08ID:???サニタイズを端折りたいわけではないです。
具体的にどういう不具合が出るのかを知りたかったので。
実体参照だけ再置換するルーチンを組むのは面倒ではないのですが、&を素通しにしてOKなら処理が速いかな、と。
HTML4.01に準拠するとして、#PCDATAとして扱われるところには<>&"は直接書いてはいけない、という理解でいいですか?
>>721
713です。715は私ではないので。
>一見便利そうで利用者・閲覧者全員に迷惑を与える危険性の高いスクリプト
を作りたくないので、質問しています。よろしければ教えてください。
0723716
04/03/02 22:26ID:???途中まで書いて中断するのも気持ち悪いからうp
ttp://www.geocities.co.jp/AnimeComic/5498/misc/sanitizeamp.txt
0724nobodyさん
04/03/02 22:35ID:???ありがと。サラッとみた感じで、数値の桁数を5ケタ以下にしといたほうがよさそうな。
まあ、あれですか。
<brockquote>また、著者は、「&」の代わりに「&」(ASCII十進38)を用い、文字参照の冒頭――文字実体参照の開始区切り子――と誤解されるのを避けるべきである。</blockquote>
ということですね。
参考になりました。
0725716
04/03/03 01:28ID:???サニタイズを端折った場合の問題を1つ思い出したので書いておく。
" のサニタイズを端折ったら
入力された文字列を value に取った input 要素の表示に異常が出たことがあった。
<input type="text" value="giko"monar"> となるべきところを
<input type="text" value="giko"monar"> になったってことね。
<> のサニタイズについても、< だけやって > を端折ったら
なんか問題が起きたような気がしたがちと今は思い出せん。
0726723
04/03/03 01:32ID:???>サラッとみた感じで、数値の桁数を5ケタ以下にしといたほうがよさそうな。
なるほど。
数値実態参照の数値の範囲は16ビットなんだっけ?
?〜?
?x0〜?xFFFF
てこと?
0727726
04/03/03 01:57ID:???&#0〜&#65535
&#x0〜&#xFFFF
てこと?
0728nobodyさん
04/03/03 12:03ID:???今ではU+FFFFより上にも文字もある予感
0729nobodyさん
04/03/09 12:04ID:TnCgMCudML登録CGIで掲示板の投稿の配信を受けるかどうか、選択し、
掲示板投稿時に投稿をその設定されたアドレスへメール配信しています。
で、MLアカウントへのメールが来たら、同時に掲示板への新規投稿として
掲示板に放り込みたいのですが、
どんな方法が考えられますか?
アウトラインだけでいいのでどなたか御教授下さいませ。
0730nobodyさん
04/03/09 17:04ID:???規制として、何行以上書き込まないと書き込まれないような
スプリクト記述ってありませんよね?
0731nobodyさん
04/03/09 17:07ID:???そういう意味じゃないのかな…
0732nobodyさん
04/03/09 17:08ID:???あるでしょ。てか
アドレス入れなきゃ書き込ませない、なんて事はざらなんで、
ある一定の長さの本文じゃなきゃ書き込ませない、なんて
別にそうすればいいだけでは?
0735nobodyさん
04/03/09 18:45ID:???> スプリクト記述ってありませんよね?
ありません。自分で書くしかありません。
できない場合は、掲示板の投稿の改行を数え、だめなやつは管理者権限で削除して下さい。
0736nobodyさん
04/03/10 04:52ID:???0737nobodyさん
04/03/10 12:37ID:ZLD/dvfRhttp://foo.example.com/cgi-bin/tester
へ接続しにいこうとしてうまくいきません。
以前もこのような症状がおきて、その時教わったのが、vi -b で.cgiファイルを開いて、行の最後に^M か ^B がついていたら、それを、viの画面で何かのコマンド(%s/…)で変換したら問題無く動いたのですが、そのコマンドがどのようなコマンドだったか忘れてしまいました。
実際今はの.cgiファイルを、vi -b で開くと、行の最後には、^Mがついております。
どのようにしたら良いでしょうか。
0738nobodyさん
04/03/10 13:01ID:???だれか返事してやれよw
メールアカウントの.forward なりに プログラムを埋め込む
そのプログラムは、直接ログファイルに書き込むなり
その掲示板CGIを呼ぶなりして投稿と同じ処理をCGIにさせるなりする。
0739nobodyさん
04/03/10 13:15ID:???> >>729
> だれか返事してやれよw
>
> メールアカウントの.forward なりに プログラムを埋め込む
> そのプログラムは、直接ログファイルに書き込むなり
> その掲示板CGIを呼ぶなりして投稿と同じ処理をCGIにさせるなりする。
ありがとうございます。
/home/ACCOUNT/www/ 以下でCGI動かしてます。
mailのログは
/var/spool/mail/ACCOUNT ファイルにある事は確認しました
telnetから上記mailのログは読めましたし、
/home/ACCOUNT 以下に持って来れましたが
CGIからMail::MboxParser.pm使って中身見ようとしましたが、
当然ながらパーミッションの問題で持って来れませんでした。
その.forward使ってメール着信時に予め/home/ACCOUNT に
ファイルのコピーを持って来ればいいのでしょうが、
肝心の.forwardをどこに置けばいいやらよくわかりません、
宜しければお教えいただくか、ポインタ教えて下さい。
0741nobodyさん
04/03/10 15:06ID:???あー 掲示板CGIでログを解析しないほうがいい。
.forward の中で呼ばれるプログラムは
メールの内容を標準入力に渡されるのでそれを加工して掲示板のログに入れてあげればよいかと。
0742739
04/03/10 15:32ID:tqgEM6Ax実は
/home/ACCOUNT/maillists/
にML設定ファイルがあり、それ宛へのメールをCGIで横取りしたいのです。
.forward を書いてみましたが
ACCOUNT@ACCOUNT.com宛てのメールは転送されましたが、
/home/ACCOUNT/maillists/test
で設定した
test@@ACCOUNT.com宛てのメールは転送されてきませんでした
まあ、当然といえば当然ですが。
やっぱり
/var/spool/mail/ACCOUNT をcpしてくるようなスクリプトを書いて
CGIからそれを叩く、って事なんでしょうか
0743nobodyさん
04/03/10 17:13ID:bqGiGoNX0745nobodyさん
04/03/10 18:53ID:???> >>742
> test のアカウントにも .forward おいたら?
>
> spoolの下からコピーなんて邪道は許せんw
はい、そうですね、僕もそうしたくないです。
/home/ACCOUNT/maillists/
これがMLのアドレスリスト記載したファイルの置き場で、
testにアドレスをいくつか改行で入れたものをこの中に入れといてやると
test@ACCOUNT.comで入れたアドレスにメールが配信されます。
/home/ACCOUNT/maillists/
には複数のMLアカウント用のファイルが置いてあります。
/home/ACCOUNT/maillists/.forward
として置きましたが無視されました。
どこに置けばいいんでしょうか…
0746nobodyさん
04/03/10 19:34ID:???0747nobodyさん
04/03/10 20:11ID:???> /etc/aliases
調べてみました。
telnetで除きに行きましたが Permission denied
で、見せてもらえませんでした。
現状 ACCOUN@ACCOUNT.com宛てのメールは
~/.forward で捕まえられそうなので、
全てのMLへACCOUN@ACCOUNT.comを参加させ、
そいつを~/.forward で捕まえてto: MLアドレスなら処理、
見たいな事でやってみようと思います。。
0748nobodyさん
04/03/10 20:28ID:???0749nobodyさん
04/03/11 00:53ID:XsdX+AtW自宅サーバ開設の実験として、Kent Webさまよりyybbsをダウンロードして、
文献(Mac OSX Unix的活用講座)の指示通りperlのある場所の指定をし、
アクセス権を正しく設定しましたが、"Internal Server Error"となってしまい
ます。職場/自宅の両方の環境で試しましたが、ダメです。Kent Webさまの
FAQコーナーの事項はすべてチェックしたつもりです。いったいなにがダメ
なのか教えてください!Askaは問題なくうごくのですが・・・
サーバ、クライアントともMac OS X 10.3.2です。
0751nobodyさん
04/03/11 02:09ID:???しかし >>749 に書いてある情報だけで
「いったいなにがダメなのか教えてください!」と聞かれても
「あんたという人間自身がダメ」としか答えようがないよ
とりあえずエラーログでも見てみたらどうだ
「エラーログって何?」という状態だったら、自分でCGIを使うのは諦めたほうがいい
0752747
04/03/11 11:56ID:???> "| naniwoyattenndai"
どうもヒントありがとうございます。
open Mail, "mail |" or die;
open Back, ">mail.back" or die;
while(<Mail>){print Back;}
close Mail;
close Back;
こんな風にやってみました。
とりあえず1個持ってきてくれましたが、
& Saved 1 message in mbox
Held 673 messages in /var/spool/mail/hoge
なんて事で、溜まりまくってます。
これmailコマンドになんか足してやれば、
未読メールは全部読む、なんて事にならないんでしょうか?
調べましたがわかりませんでした。
でも読んでmboxにセーブされるなら手元にprint
する必要ないですね。
なんかスレ違いになってきてますが、
すんませんがポインタでもお願いします。
0754747
04/03/12 16:10ID:???> >>748 は「.forward の中に | を書け」というアドバイスだと思ったんだが…
はい、気が付きました。
パイプで処理をプログラムに渡す、って事ですね。
いろいろやってみます。
0755nobodyさん
04/03/21 19:08ID:???ボタン名がクエリに入ってたら処理を分岐してたオレはいったい…
どうしよ。
0756nobodyさん
04/03/21 21:44ID:???0757nobodyさん
04/03/21 21:56ID:???name無しの時に分岐のどの処理をさせるか、無効操作として再度フォーム表示するかどうか、
それさえ決めればよさそうな.....
0758755
04/03/22 11:38ID:???hiddenでフラグ持たせとくかー
なんかすんごいアナログだけど
ボタン一個の時はこれしかないよね。
>>757
そそ。nameで分岐。
name無しは基本的にまたフォームに戻すんだけど、
リターンで送信されたときにもちゃんと飛ばせないトナーと思ったり。
1フォームにsubmitボタンが2個あるときってどうしてますか?
0759nobodyさん
04/03/22 14:56ID:???0761nobodyさん
04/03/22 16:20ID:???0762nobodyさん
04/03/22 16:43ID:???現実的じゃないかも。
たしかにラジオボタンだと正確に取得できるが、
実際のフォームとかでそういうの見ないな。(むしろ使いにくい)
0763nobodyさん
04/03/22 17:04ID:???0765asdf
04/03/24 11:20ID:CibVmuL+#!/usr/bin/perl
# アクセスカウンタ
print "Content-type: text/html; charset=Shift_JIS\n\n";
# カウントファイルから読み込み
open(IN, "counter.txt");
$count = <IN>;
close(IN);
# カウント増加
$count++;
# カウントファイルに書き込み
open(OUT, "> counter.txt");
print OUT $count;
close(OUT);
print <<EOL;
<html>
<body>
<p>あなたは $count 人目のお客様です</p>
</body>
</html>
EOL
という死ぬほど簡単なCGIなのに。ファイル名はcounter.cgi
あと、0とだけ書かれたテキストファイルcounter.textをおく。
0766asdf
04/03/24 11:21ID:CibVmuL+ここのCGIです。
print <<EOL;
<html>
<body>
<p>あなたは $count 人目のお客様です</p>
</body>
</html>
EOL
を
print"
<html>
<body>
あなたは $count 人目のお客様です
</body>
</html>
"
としたらうごいたけど・・
何が原因なの?
ほかにもいっぱい動かなくて、CGI開発行き詰ってるYO!
0767asdf
04/03/24 11:24ID:CibVmuL+↑動かないカウンター
http://diary.asdf.jp/a.cgi
↑動くカウンター
違いは>>766のとおり
0768nobodyさん
04/03/24 12:36ID:???> 何が原因なの?
> ほかにもいっぱい動かなくて、CGI開発行き詰ってるYO!
エラーログ見るとか、
チェック用CGIで探るとか、
use CGI::Carp qw(fatalsToBrowser);
するとか、ああとかこうとか、すれよ。
ばかかお前。
勝手に行き詰れよ、あほ。
メーワクだから開発なんかするな、
ちゅうか、カイハツ?それ。
設置じゃねえか、それ。
0770nobodyさん
04/03/24 17:22ID:???しかし普通は「作る」といったら自分でソースを書いて制作することを指す。
回答側はその前提でソースやコーディングをアドバイスすると、分からんとほざく。
いいかげんにしろと。
0771nobodyさん
04/03/24 19:38ID:???0772nobodyさん
04/03/24 21:07ID:???たまーにフォームから送信したはずのクエリがCGIで取得できなかったりするんだけど、
この症状について誰かご存知の方いますか?
wwwはapache, ブラウザはIE6です。
0773nobodyさん
04/03/29 23:04ID:???0774772
04/04/04 12:06ID:???「Wininet により空白のヘッダーのみの POST 要求が再送される」
ttp://support.microsoft.com/default.aspx?kbid=831167
激しくこれな気がしました。
SSL+POST時におけるIE6のバグっぽいですね。
IE6だからどうりで今まで正常に動いてたわけだ。
GETにするしかないのかなぁ…
0775Perl+XHTMLユーザ
04/04/06 18:50ID:BdnN1EXaprint <<"_EOD_";
Content-type: text/html
<html lang="ja">
<head>
(略)
_EOD_
などとすると、<html lang="ja">の前に改行が入ってしまいます。
また、かといって
print <<"_EOD_";
Content-type: text/html
<html lang="ja">
<head>
(略)
_EOD_
などとするわけにもいかず・・
これは仕様上やむを得ない事なのでしょうか?
0777nobodyさん
04/04/07 11:39ID:???0778nobodyさん
04/04/10 11:10ID:brO2qLuhパスワードをcookieに記録すると丸見え。でもユーザーが毎回パスワードを入力
しないようにしたい。
ささやかな抵抗として以下のロジックを実装してみた。
1.cookieには自分を自分自身でcryptして頭2文字を除いたものを記録
2.記事には1をランダムな種でcryptしたものを記録
3.投稿時にパスワードをcookieから取得したのならその文字列をそのまま
記事に記録されたパスワードとチェック。
4.投稿時にパスワードがcookieから取得されたものでなければ、1と同様の
処理をしてから、記事に記録されたパスワードとチェック。
なにか問題があるだろうか。
もしくはもっといい方法を知っていれば教えてくれ。
0780nobodyさん
04/04/10 17:18ID:???XSSを危惧してのことならXSSをさせないこと自体が重要。
せいぜい数文字程度の強度しかないユーザーパスワードを種にするより、
管理者が20文字くらいのcryptを勝手に発行してCookieで食わせたほうがいいのでは?
ユーザーがCookieを削除してしまえばそれまでだけどね。
そもそも記事に記録するcryptは見せる必要がない。
不安なら管理者が設定した秘密の種で再cryptして記録する。
0781nobodyさん
04/04/10 18:05ID:???> XSSを危惧してのことならXSSをさせないこと自体が重要。
想定しているのは外部からのアクセスではなく、PCを他者に使われるような環境。
例えば会社のPCとか、ネットカフェのPCで、cookieを無条件で喰わせる様な掲示板
だと、IEのキャッシュを見るなり、cookieを見るなりすると、HNとパスワードが一発で
ばれる。
独特なHNであれば、googleで調べて、書き込んでいる掲示板を特定することも
できる。まあ、自己責任といえばそうだけど。
掲示板ごとにパスワードを変えるのも大変だし、対抗手段としてプレーンなパスを
見えなくすれば、気休めになるかな、という流れ。
0782nobodyさん
04/04/10 18:29ID:???Cookieをファイルとして残せば、その端末を使えるユーザーはすべて同等の扱い。
パスワードをcryptしても別の端末からのログインをやりにくくさせるくらい。
→やはり気休め。
最低1度はパスワードを手動で入力させて、
セッションで楽させてあげるまでが限界かの。
0783nobodyさん
04/04/10 19:00ID:???そだよねー。
まあ気にしているのはその掲示板に書き込まれたりすることじゃなくて、cookkieから
パスワードの傾向を読み取られて、もっと重要なパスワードを推測されることだから、
ロジックとして穴でなければ実装したほうがいいかな。
自分では掲示板系と重要なパスワードは明確に区別してるけど。
とはいっても私の作ったのだけがそうでもあまり意味ないので、これがポピュラーな
手法になるといいな・・・と期待してみたり。
「パスワードをcookieに記録する」というチェックボックスを投稿フォームに設けて、
ユーザー名やらなんやらだけ記録させるのも選べるようにしよう・・・。
0784nobodyさん
04/04/10 19:33ID:???種となっているパスワードを隠蔽するためだったね。
2文字だと候補が少なすぎて容易にパスワードを予測されてしまうから、
せめて10文字くらいは削ったほうがよいかと。
cryptロジックが公開されていない(もしくは管理者がもつ秘密の種の強度が高い)
という条件なら、候補を出すこと自体もそれなりに難しくはなるけどね。
0785nobodyさん
04/04/14 20:05ID:???CGIで出力させたリンクが思ったように動かないのです。
Perlで組んだCGI(test1.cgiとします)から
<a href="http://○○○/test2.cgi?item1">アイテム1</a> が出力されるようにし
ブラウザ上の「アイテム1」をクリックすると、確かに test2.cgi が起動するのですが
環境変数の一部が渡っていかない感じで、「item1」というデータが取得できず
望みの結果が得られません。
リンクを含んだデータが表示されている時点で、「ソースを表示」して別のHTMLファイルに保存し
別個に起動すると、そこからリンクした場合はちゃんと test2.cgi に item1 が渡っています。
右クリックから「ショートカットをコピー」して アドレスバーに貼り付けてやってもやはり問題なしです。
どうも、NT+IIS のサーバーでこういう現象になり、 AN HTTPD だと問題ないのですが
既知のトラブルなのでしょうか?
0786nobodyさん
04/04/14 22:52ID:???・test2.cgi にジャンプしようとする時,ステータスバーにはどう表示されているか?
・ジャンプ後,アドレスバーにはどう表示されているか?
っていう辺りに興味があります。。。
0787nobodyさん
04/04/14 23:02ID:???785です。
WEB環境は勤め先なのでうろ覚えですが、
リンク文字にマウスカーソルをもっていったときステータスには
http://*****/test2.cgi?item1
と表示されていたように思います。
ジャンプ後のアドレスバーは明日確認してきます。
0788nobodyさん
04/04/15 09:46ID:???環境変数をすべて出力するスクリプトで、リンクから呼んだ
ときにちゃんと渡っているかどうかチェックしてみりゃいいじゃん。
あと、本気で解決する気があるのならNT+IISなんて書き方はしねーよ。
環境にしろ、問題になっている箇所にしろ、もっと具体的に
書くのが当たり前。
なんにしてもここは質問スレじゃないしスレ違い。
誘導自体が間違い。
0789nobodyさん
04/04/15 17:23ID:???Env.plというのでやってみたら、渡っている環境変数は半分くらい。
QUERY_STRINGもCONTENT_LENGTH も行ってませんでした。
スレ違い申し訳ありませんでした。
0790nobodyさん
04/04/16 22:56ID:???お恥ずかしい初歩的なミスですが、?の後のクエリーを全角文字で書いてました。
受け側もデコードとかしてなくて、それでもクエリーはちゃんと読めて、思ったとおりの
HTMを出力していたのですが、その時点で正常ではなかったようで、そこから飛ぶ
先の環境変数が壊れていました。
お騒がせしました。
0791nobodyさん
04/04/17 16:00ID:ksEVTWBiGETやPOSTでデータを渡すとき、通常だと
「&」 … @pairs = split(/&/,$buffer);
と
「=」 … ($name,$value) = split(/=/,$pair);
でデータ切ると思いますが、これを別の文字にできますか?
「&」を「<>」とかに替えてみて、GETだと出来たんですが
POSTで渡すとき強制的に「&」になるようでデータを渡せませんでした。
POSTの時「&」意外にする方法はあるのでしょうか。
お願いします。
0792nobodyさん
04/04/17 16:09ID:???http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.13.4
0795nobodyさん
04/04/17 18:01ID:???0796nobodyさん
04/04/17 18:12ID:xkVKwnfm注文ページ1(HTML)で商品選択
注文ページ2(perlcgi)で選択商品の確認+住所等の入力
注文ページ3(perlcgi)で選択商品、住所等の確認
というページを作っていますが、ページ3でページ2に記入漏れがあった場合に
戻るボタンから戻る事を可能としたいんです。普通CGIのページでは戻ったり進んだり
できませんよね?、でも他サイトを見て回っていたらどうやらページ3からページ2へ
戻ることが可能になってるところもありましたので、私もやりたいのですが
調べても方法がわからないまま一日がもう終わりそうなので++;頼りにきてしまいました。
お願いします。
0797nobodyさん
04/04/17 19:57ID:???それとも戻るボタンつーのを作ったのかね?
0798796
04/04/17 20:01ID:xkVKwnfm機能的にはブラウザの戻るボタンと同じです。
0799796
04/04/17 20:02ID:???0800nobodyさん
04/04/17 21:24ID:???ページ3の戻るボタンでページ2にサブミットし直す。
ページ2の方では、ページ3から戻ってきたとき用のコードを書く。
ただそれだけ。
0801nobodyさん
04/04/17 21:45ID:???あるサーバのCGIから別のサーバのCGIに
リダイレクトしつつ、POST送信することはできますか?
Location: http://aiueo/aiueo.cgi?name=value
だとGETになっちゃうので、これをPOSTで送りたいです。
意図としては、上記方法だと、送信データが
ブラウザのアドレスバー表示されてしまうので、
これをなんとか隠したいって感じです。
同じサーバ内ではセッションを使えばできますが、
何せ別のサーバへの送信になるので。。。
ご教授お願いします。
0802801
04/04/17 21:46ID:???○アドレスバーに表示
でした。失礼。。。
0803796
04/04/17 21:52ID:???でもそれだと3〜2〜3〜2〜3〜2って何度も繰り返せないんですよね。
私の記述のしかたが悪いのかもしれませんけど、2〜3〜2〜3ってループする度に
ページ3に付けたhidden名の中にhidden名・・・・・で最後にページ1からの値。
みたいな感じになっちゃうんですよね。
とりあえず私が見た戻るを可能にしていたサイトではどうやらsubmitしなおしや
hiddenでリレーするようなのではないようで、普通にブラウザの戻るボタン
で戻れるようになってました。なので延々ループしても問題もないです。
なんかものすごく単純なコマンドがあるのかなって思ってましたけど・・・
「セキュリティ保護のため情報を再送信しないと表示をできません。情報を再送信しますか」
みたいな事を聞かれますが、それを自動でやらせる事ができる記述があるのかな?
みたいに思ってましたが・・・う〜ん。
0804nobodyさん
04/04/17 22:25ID:???a. CGI プログラム内で相手サーバに POST リクエストを
送って結果を受け取り、それをブラウザに返す。
b. CGI プログラムで送信したい値を埋め込み済のフォームを
生成し、ユーザに submit させる。
0805nobodyさん
04/04/17 22:41ID:???3>2>3>2が繰り返せないのは単純に作りがへぼいだけ。
このコーディングを説明されないと書けないようなら向いてないから
辞めた方がいい。
あと、hidden項目なんぞ使わなくてもCookie使うなりDB使うなりでも
いいのだが。
とりあえず勉強し直せ。
あと、その際は基本も読んでおけ。
www.ipa.go.jp/security/awareness/vendor/software.html
0806801
04/04/17 23:01ID:???レスありがとうございました。
a. なんですが、確かにLWPモジュールなんかで
結果を受け取ってそれをブラウザにprintすればいいんですが、
その時ブラウザのアドレスバーには
送信元のサーバのURLが表示されますよね?
送信先のサーバが表示されていなければいけないんです。
(そういう意味でリダイレクトという表現をしました)
b. については確かにそうなんですが、
JavaScript を使って onLoad で送信したり、
一度ユーザにボタンを押してもらう方法では
ちょっと厳しいかなーと思ってます。
JSを無効にしていたり、重要なデータになると、
HTMLソースをいじられる可能性があると問題なので。
そういう意味ではサーバをまたがったセッションになるわけですが、
何せ送信先のサーバのCGIはこちらからではいじれないので。。。
0807796
04/04/18 10:28ID:???作り方の問題ですか。
ところでDBていうのはDataBaseの略ですか?DBっていうものをほとんど理解してないので
色々サイトを回ろうと思います。
0809796
04/04/18 17:27ID:???繰り返しもできるようになりましたが、もっともっと勉強が必要みたいです。
また来ます。
0811nobodyさん
04/04/19 00:22ID:dIBR14RCで、質問なのですが、
proxyを設定するために
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->proxy(http => 'aaa.aaa.aaa:80');
$req = HTTP::Request->new('GET',"http://www.google.com");
$res = $ua->request($req);
print $res->content;
としたのですが、何も表示されません。
プロキシが生きていることは確認しました。
どうすればよいですか?
0812nobodyさん
04/04/19 00:48ID:???本当に何も表示されないんだったら俺の手にも負えないな
ちなみに俺のところでそのコードをそのまま実行したら
501 Protocol scheme 'aaa.aaa.aaa' is not supported
と表示されたよ
0813811
04/04/19 01:37ID:???501 Protocol scheme ' ' is not supported
だそうで。
プロキシのアドレスにスキームhttp://を追加したらうまくいきました。
てかHTTP::Lite使った方がいいじゃん。
失礼しましたm_ _m
0814nobodyさん
04/04/19 01:45ID:dIBR14RCできないのですか?少し前質問スレで無理って結論されていた
のですが、本当に無理なのですか?
身近なところでiriaなんかもリファラ設定できますよね?
あと、win32api使えばできたような・・・・
0817814
04/04/19 09:29ID:???具体的にどうすればよいのでしょうか?プロキシを作ればできるという意味ですか?
それともソケットをいじるだけでできるものなのですか?
>>816さん、できればperl単体でやりたいのですが、なんとかならんでしょうか・・・
0818nobodyさん
04/04/19 10:45ID:???Referer: ヘッダ付ければそれで済むことやん。
0820814
04/04/19 12:37ID:???その通りでした--;
一連の流れでてっきりperlではリクエストヘッダいじれないものだとばかり・・・・
http://member.nifty.ne.jp/hippo2000/perltips/HTTP/Request.html
↑らへんを参考にやればちゃんとできました。
use LWP::UserAgent;
require HTTP::Headers;
$ua = LWP::UserAgent->new;
$h = new HTTP::Headers;
$h->user_agent('momomo');
$h->referer('http:://localhost.com/');
$req = HTTP::Request->new(GET,'http://www.taruo.net/e/?',$h); #確認用に診断くんへアクセス
$res = $ua->request($req);
でも一つ分からないことがありますので最後に質問させてください。
解説ではHTTP::Requestオブジェクトの生成時に指定する引数の3番目にHTTP::Headersオブジェクト
へのリファレンスを指定せよとあったのですが、\$hとしたらエラーになってしまいました。\をはずした
らうまくいきましたが、これって問題ないのですか?それとも僕の頭がおかしくて勘違いしてる?
0823814
04/04/19 14:53ID:???LWPを使ったアクセスを診断くんで確認したところHTTP_TEなる環境変数を
吐いているようで、んでもってHTTP_TEはプロキシ判定材料の一つなそうな。
もともとwebや掲示板等を巡回するようなツールを想定していたのですが、
こんなものを吐いていたら一部の厳格なプロキシはじきを通れません><
で、消してしまおうと思い。
$h->remove_header('te');
の一文を挿入したのですが、消えてくれません。書き方がまずいのかと思い、
teをHTTP_TEにしてみましたが変化なし、別の環境変数(referer等)はちゃんと
消せました。(user_agentは無理でしたが(そらそうか))
アドバイスお願いします。
0824796
04/04/19 15:31ID:???っていう通販HPの注文ページを見かけますが、私も自分のHPに保護をしたいページ
があるのでできるように勉強したいのですが、何について勉強すればいいのかわかりません。
今までhtml,javascript,perl等はいろんなホームページを回って勉強しましたので
今回もどこかのHPで勉強しようと思ってますが、どこかおすすめありませんか?
なにぶんどんな技術なのか言語がなんなのかさっぱりわかりませんので、どうゆう
キーワードで検索をかければいいかわかりません。どうぞよろしくお願いします。
0825nobodyさん
04/04/19 15:49ID:uFMZjudZhttps ssl
0826nobodyさん
04/04/19 15:52ID:???俺も同じことやろうとして、消せなかったんでめんどくさいけどSocketモジュール使った。
消す方法があるのなら俺も知りたい。
0827nobodyさん
04/04/19 16:59ID:???$h = new HTTP::Headers;
sub HTTP::Headers::AUTOLOAD {
(shift->_header($1, @_))[0] if $HTTP::Headers::AUTOLOAD =~ /::([a-z_]\w+)$/;
}
$h->te('');
$h->chubou('教えてください');
$h->kami('俺にまかせろ');
$h->chosakuken('消すよ♪');
$ENV{'HTTP_TE'}をundefにしたければHeaders.pm書き換えないと無理っぽい
0828nobodyさん
04/04/19 17:06ID:???{
my($self, @fields) = @_;
my $field;
my @values;
foreach $field (@fields) {
$field =~ tr/_/-/ if $TRANSLATE_UNDERSCORE;
my $v = delete $self->{lc $field};
push(@values, ref($v) ? @$v : $v) if defined $v;
}
return @values;
}
だそうです。。。
0829796
04/04/19 18:32ID:???ありがとうございます。
ところで例えばp1で住所等個人情報入力フォームがあり
p2で入力した内容の確認ができ、p3でそれを送信するといった場合に、
p1で入力された情報をp3まで引き継ぐ必要があるわけですが、どうやって
その入力データの引き継ぎをするのが理想的でしょうか?私が今できる事と言ったら
hiddenかcookieを使っての引継ぎくらいですが、セキュリティ的にどちらでするべきか
迷っています。どちらにしろSSLで保護はしますので安全だろうと思ってますが自信がもてないので
アドバイスお願いします。
cookieの場合ブラウザに個人情報がブラウザが閉じるまで?もしくは任意の時間残ってしまいますよね?
hiddenはソースを開けば見れる。←これは問題ないですよね?
0830816
04/04/19 19:23ID:???質問スレの流れからrefererを偽装する話だと思ったら、
クライアントを作る話か。こんちくしょうって感じ。
以下、UserAgentバージョン2.024で動作したスクリプト。
use LWP::UserAgent;
push(@LWP::Protocol::http::EXTRA_SOCK_OPTS, ('SendTE' => 0));
my $ua = LWP::UserAgent->new(agent=>'My-crawler/1.0');
my $url = 'http://192.168.0.11/~test1/env.cgi';
my $referer = 'http://example.net';
my $response = $ua->get($url, referer=>$referer);
($response->is_success) or die 'response: ',
$response->code, ' ', $response->message;
print $response->content;
exit;
# httpが分かれば、直接IO::Socket::INETの方が便利。
>>819
もう一度rfc2616を読んでおくよ。
0831816
04/04/19 19:26ID:???適宜変更してね。
0832814
04/04/19 21:17ID:???できました!本当にありがとうございました!もうちょっといじってからSocket
でもやってみようと思います(無理か・・・・w
refererの存在って例のITmediaの一件以来かどうかはしらないけどいまいち
存在意義がないような・・・出力をクライアントに依存するせいでいくらでも偽装
できるし、そもそも最近のセキュリティツールはreferer自体吐かないようになっ
てるのも多いし。refererを何かの判定に使おうとしたら結局ユーザビリティ低下
させるだけなのかな。
0833nobodyさん
04/04/19 21:41ID:???あのさぁ、この前紹介したページ見た?
というか、Webセキュリティについて何も知らないのが明らか
なんだから、こんなところで一つ一つ質問していないで、
一から勉強しなおせ。
今のまま個別の実装の仕方を覚えたところで穴だらけの
駄目通販サイトができるだけ。
まぁ、素人の作った通販サイトなんてそんなもんだが。
0834796
04/04/19 23:10ID:???くらいで、勉強自体はずっと進行形です。HPとかは一方的なのでわかったり
わからなかったりするので、ここで行き詰まった部分のアドバイスをもらうと
他のわからなかった部分も理解できたりするもので。2chってhow toのいい掲示板だなあ
と思ってましたが、あまりにも私の話はレベルが低すぎて迷惑ですかね。
レベル的に軽いスレ違いですね;私くらいの人間が行っても迷惑にならないスレって
ありますか?
0836nobodyさん
04/04/20 17:31ID:???趣味でやってるようなものならともかく、通販みたいに商売でやるものを
素人がわからないで手を出すなよ。
金を払って作ってもらったものを参考にとか、仕組みを完全に理解するまで
勉強してからやれよ。
0837nobodyさん
04/04/20 17:42ID:???「絶対に誰にも何も聞かずに自分ですべて調べて1からシステムを構築できる」レベルになるまで
そういうのには手を出さないほうがいい。
0838nobodyさん
04/04/20 20:19ID:???素人っぽさってどう言う所で判断してる?
俺の場合、何がどうと言う事ではなくエディタで開いて3秒くらいで
ゴミ箱行きかどうか決めてるけど。
0839nobodyさん
04/04/20 23:11ID:???0840nobodyさん
04/04/21 00:43ID:???0841nobodyさん
04/04/21 23:43ID:???そういう重要な情報はサーバーサイド(通常はDB)に保存し、
Cookieやhiddenにはそれにアクセスするためのキー情報のみを
セットする。そういうのを一般的にセッション管理という。
総当り方式等でセッションをハイジャックされないような仕掛けも必要。
迂闊に手を出さない方が良いと思う。
0842796
04/04/22 10:47ID:???完全に理解できたときに完成と認めてスタートさせようと思ってます。とりあえず
CGI部分の機能はできた?ので、今はちょっとデザイン部分をやってます。
>>829ありがとうございます。凄い参考になります。その路線をがんばって勉強します。
本当ありがとうございます。
0845nobodyさん
04/04/23 14:57ID:???モジュールのソースを公開したくない時ってどうしてます?
(モジュールファイルをアップしたくない)
自分管理のサーバ内にモジュールを置いておいて、
外部サーバからLWPでGETさせてevalで利用ってのを考えてみたけど…。
でもそれってCGIソースからモジュールのURL知られてDLされたらおしまいか。
使い勝手も悪そうだし、毎回負荷がかかっちゃうのも問題かー。うーむ。
0848nobodyさん
04/04/23 15:51ID:???0849nobodyさん
04/04/23 17:01ID:???0850nobodyさん
04/04/23 17:25ID:???1. perlcc でコンパイルして配布する
2. perlapp でバイナリ化して配布する
どっちにしてもポータビリティは無くなるが
0851nobodyさん
04/04/24 15:57ID:RLkwArNtttp://i-meishi.jp/design/flower.html
ここのように一つデザインを選んだら、次の注文フォームで
自動的にデザイン番号が入力されるようにするにはどうすれ
ばいいのですか?
フツーのフォームメールCGIでできますか?
よろしくお願いします。
0852nobodyさん
04/04/24 16:44ID:???0853851
04/04/24 16:52ID:???値を渡すとは
****.cgi?****=****
みたいなヤツですよね?
もう少し具体的に教えていただけないでしょうか?
厨ですみません・・・
0856851
04/04/25 07:05ID:+y7H56mQどうも違うみたいですね。
ページから別ページのフォームの特定テキストボックスに値を渡すにはどうすればいいのでしょうか?
解説しているページなどあれば教えていただけるとうれしいです。
0857nobodyさん
04/04/25 07:59ID:???受け取った方のCGI(のフォーム)でそのvalueをセットしておく?
0859nobodyさん
04/04/25 09:47ID:???ど素人は一つ一つ聞かないで、一から勉強しれ。
藻前が必要としていることが書いてあるCGIの本なんて2000円もしない。
Web上にもいくらでも資料がある。
>>1をよく読んでからどっか行け。
0860nobodyさん
04/04/25 13:00ID:???まあまあ、それでなくても過疎板なんだからお客さんは大事にしないと…
>>858
基本中の基本だからCGIの勉強をしてれば自ずとわかるようになる。
2ちゃんで安易に回答を得ることは、自分の成長の芽を摘む事とさも似たり。
精進したまえ。
0861nobodyさん
04/04/25 13:19ID:???似たようなCGIを探している人がいたから、こっちで一緒に探したら?
【CGI】こんなCGI探してますver.13
http://pc5.2ch.net/test/read.cgi/hp/1081608108/156
0862851
04/04/25 18:15ID:YwE1vg2Pそれ私です。(^_^;
誰も心当たりがないみたいで・・・
0863nobodyさん
04/05/01 12:39ID:???モバイル対応CGI作成における情報・TIPSが
載ってるサイトを知ってる人いますかね??
書籍類も無いみたいだし…
0864nobodyさん
04/05/01 12:42ID:???それを自分で調査、収集、整理して利用すべし。
0865nobodyさん
04/05/01 14:41ID:???http://www.dp.j-phone.com/dp/
http://www.nttdocomo.co.jp/p_s/imode/make/
0866nobodyさん
04/05/02 22:56ID:VyPHEPB5ディレクトリ内のファイルをリスト化してリンク貼ってくれるような
スクリプトありませんか?
0867nobodyさん
04/05/02 23:11ID:???<Direcrory "/path/to/hoge">
Options Index
</Directory>
0868nobodyさん
04/05/03 02:56ID:rRSmxfORCGIで数枚の画像を重ねて、それを一枚の画像に結合することは可能でしょうか。
CSSで画像を重ねることはできました。
アバターの様にいくつか画像を選んでそれを一枚の画像にして表示させたいんです。
ぐぐったり、ヤホージャパンアバターのhtmlソースを確認したところ、外部で処理してるようなのです。
CGI、java、PHP、、、etc、どれを使用して処理しているか解かりませんが・・・(汗
0870nobodyさん
04/05/03 04:34ID:???0871863
04/05/03 11:59ID:???情報ありがとう。
公式ページはチェックしてるけど、
CGI開発における情報ってあんまりだったので。。
地道にグぐるしかないかもね。
thx
0872nobodyさん
04/05/03 12:30ID:???0873nobodyさん
04/05/08 15:00ID:vSbIGN9wforeach $key (@files) { print "<a href=\"$key\">$key</a><br>\n";}
動かしてる鯖は
WinXP Pro/Apache2/ActivePerl/ZoneAlarm
こんな感じでディレクトリ内にあるファイルを
リスト化してリンクしてくれるモノを作ってみたんだが
実際にそのリンクをクリックするとファイルがサイト内にないというような
警告がでてなにもできない
このスクリプトのどこか間違ってますかね?
0875nobodyさん
04/05/10 16:02ID:aYuK5bou出力されるんですが、どうもAUとvodafoneでは表示されないようです。
下はJPEG画像の出力ソースです。なぜなんでしょうか?
open(IN,"ファイル名") || &Error("エラー:ファイル名");
print "Content-type: image/jpg\n\n";
print while (<IN>);
close IN;
すみませんがよろしくお願いします。
0877875
04/05/10 16:22ID:aYuK5bouすみません、無知なもので・・・
ドコモはimage/jpgでも表示できるんですが、
image/jpegにしたほうが良いようですね。
ありがとうございました。さっそく直してみます。
0878nobodyさん
04/05/11 06:06ID:???image/jpg なんていうMIMEタイプは登録されていない。
http://www.iana.org/assignments/media-types/image/
0879nobodyさん
04/05/11 06:20ID:???Content-type: text/txt\n\n;
なんて書かないのと同じ。
0880nobodyさん
04/05/11 10:54ID:???CGI、CGI::Sessionなどのモジュールを利用してください。
0881nobodyさん
04/05/11 19:06ID:iWNmrZA1IEではテキストがそのまま表示されてしまいます。
名前をつけて保存すると、開けるようになるので、
バイナリは一致しているはずなのですが。
MHTのMIMEタイプを調べて、
Content-type: message/rfc822\n\n
を出力しているのですが、これではIEが解釈してくれないのでしょうか。
0882nobodyさん
04/05/11 19:48ID:Ax2GxUUe内容として一日一回 当選を出す
日付が変わるとリセットされる
プログラム作って頂けませんか
0884nobodyさん
04/05/11 19:56ID:???0885882
04/05/11 20:15ID:Ax2GxUUe0886nobodyさん
04/05/15 19:58ID:AknjjuaOcgi習得のため日記を書き込む&表示するcgiをPerlで作っているのですが、
ログの整理方法で悩んでいます。
全日記データ(1件1kb程度?)を単一ファイルにすれば、データ壊れた時恐いなあ、とか
逆に1日分を1ファイルにしたらクラスタとかの関係でめちゃくちゃHDD圧迫するんじゃないか・・・
などと迷っております。
現在はdiarylog/200405.datとして1月1ファイルあたりにしようかなと考えておりますが
何らかの危険回避のために意識した方がよいもの、
後々便利になるものなどがありましたらご教授いただけませんか。
主観込み込みで構いませんので後押しをお願いします。
0887nobodyさん
04/05/15 20:07ID:???バックアップすればイイのこと。
データを書き込む前にログファイルをどっかにコピーするとか、sendmailで自分宛に送るとか。
0888nobodyさん
04/05/15 20:10ID:???レン鯖だとすると全データ飛ばしは有り得る話なので、バックアップは自動だろうが手動だろうが必ずしておくべきことだ。
自分のデータは自分で守ろう。
0889nobodyさん
04/05/15 20:37ID:???ログにDBM使うのはどうかな?
ハッシュで比較的高速にアクセスできるから1ファイル構成でも、
最近と過去とで2ファイル構成でも悪くない。
バックアップはもちろん必要だけど。
0892nobodyさん
04/05/15 21:05ID:???他人に自作スクリプトを評価してもらうのが効率のよい習得方法だな。
自分が「これはいい」と思ってた部分が実は糞みそだったりするからな。
ほれ
自作CGIを評価するスレ
http://pc5.2ch.net/test/read.cgi/php/1049514428/l50
0893886
04/05/15 22:52ID:AknjjuaOバックアップ(コピー)をとれば単一ファイルにでき手軽そうですね。
そこで新たに疑問が。
2004年5月15日の日記を読むにはファイル全て読むことになりますよね。
その前日もついでに読むと再びファイル全て読みに行くことになると思いますが、
不要な部分も読むというロスは気にしたほうが良いのでしょうか?
また、みなさんなら何kbくらいのロスからログ形式(もしくは読み取り方法?)の変更を考えますか?
もう一つ似たようなことで、
読み取り専用で開く場合もファイルロック(やバックアップ)をしたほうがいいのでしょうか?
書き込む人は管理者の1人を想定しており、処理に多少時間が掛かっても構わないのですが、
読む場合は[翌日の日記へ>>]ボタンを2秒1回くらいでぽちぽち押しても耐えられるものを作りたいのです。
---
DBMというのはググってもよく理解できず
まだ敷居は高そうですが一応心に留めておきます。
まだファイル読み書き部分も作っていませんが、
日記として機能できたら評価スレに行ってみますね。
0894nobodyさん
04/05/16 12:50ID:???あるCGIから別のCGIにPOSTするにはどうしたらよいですか?
また、その際に送信側でパラメータのセット、
受信側で取得する方法も教えてください。
どなたかお知恵を。
0895nobodyさん
04/05/16 12:51ID:???CGI.pmモジュールは使えません。
0896nobodyさん
04/05/16 12:56ID:???http://x68000.startshop.co.jp/~68user/net/
http://www.studyinghttp.net/
0897nobodyさん
04/05/16 13:07ID:???ありがとうございます。
しかし、残念ながらここのサンプルは
モジュールを使っているようです。
cgi-lib.plを使って同じことはできないのでしょうか?
0898nobodyさん
04/05/16 13:41ID:???サンプルを丸写ししろという意味でなく、そういったサイトで HTTP や
CGI の基本を勉強しろという意味なんだがな。それがいやなら
サンプルが動く環境を整えるか、金払って作ってもらえ。
0899nobodyさん
04/05/16 14:04ID:???使うのを薦められない何らかの理由があると考えていいんじゃね?
0900nobodyさん
04/05/16 15:55ID:???0901nobodyさん
04/05/16 16:28ID:???CGI.pmはCGIアプリのためのモジュールだから用途が違う。(POSTをするじゃなくてPOSTを受ける方)
自分からPOSTするにはLWP系のモジュールが便利。
ttp://search.cpan.org/~gaas/libwww-perl/
0903886
04/05/17 09:01ID:bRPhhdmX「(CGI-Perl)読み取り専用で開く場合ファイルロックは必要か」
という疑問は、検索の仕方が悪いのか解説されたページが見付かりません。
ファイルが壊れるというのは物理的な干渉でなく、
時間差の引き起こす上書きだという認識なので読み取り専用の場合は気にする必要が無いと思うのです。
この考えは間違っていますか?
スレや板を間違ってる気ならしてきました。
0904nobodyさん
04/05/17 09:41ID:???http://pc5.2ch.net/test/read.cgi/php/1081148490/694-695
0905886
04/05/17 10:06ID:???共有ロックと排他ロックですか。
分かりやすそうなページがたくさんヒットしました。
今日中に解決できそうです。
http://pc5.2ch.net/test/read.cgi/php/1024795138/
google経由でこんなスレも見つけたので今日帰ってからでも読んでみます。
ありがとうございました!
0906nobodyさん
04/05/17 15:28ID:???Data::Dunper 結構便利だよね。
DBM紹介して、初心者に紹介するもんじゃねえって言われてた人いたけど、
ま、これも似たようなもんかもしれんけど、
DB使うほどもんでなし、かといってフラットファイルだとかったるいってのは
$database = do "$log_file" or die "$log_file: $!\n";
とかやって取り込み、
print LOG Dumper($database );
とかやってる。
結構お手軽。
0907886
04/05/17 17:39ID:???色々調べてみました。Data::Dumperのようですね。
便利そうなのですがファイル構造はせいぜい2次元ですし、
1行1レコード、先頭の日付8桁の数字をキーくらいにしか考えておらず
このスクリプトではDumperのお世話になるほどでは無いかなと感じました。
情報ありがとうございます。
0910nobodyさん
04/05/20 21:28ID:???あ、いやいや、そっちの扱うデータが、って事なのね。納得。
ただ、joinしたりsplitしたりして変数に格納したり、とかするんなら、
やっぱ便利だと思うけど、、、Data::Dumper
僕はね。
0912nobodyさん
04/05/20 22:02ID:???0914nobodyさん
04/05/24 13:36ID:guXgj1Rhhttp://pc2.2ch.net/test/read.cgi/php/1051456859/
が落ちていて、新しいスレがないようなので、
すみませんがこちらに書かせていただきます。
よく2chでのやり取りに捨てアドが使われますが、
これを手軽にするために公開鍵暗号を使ったらどうか、と考えました。
概要は
アイディアとしては宅配ボックスのようなもの。
ネットの掲示板のように、誰でも利用でき、
俗に捨てアドと言われるような取得の手間はかからない。
利用者が秘密鍵Aを決めると、自動的に公開鍵Bを生成し、
それをメールや掲示板に貼り付ける。
利用者にメッセージを送りたい人はそのURLをクリックすると
公開鍵Bで暗号化したものをCGIにアップできる。
アップされたデータそのものは誰でも見ることができるが、
公開鍵Bではそれは復元できず、秘密鍵Aを持つ人しか読めない。
このようなものをご存知ありませんか。
0915nobodyさん
04/05/24 14:10ID:???普通の鍵つきメッセージボックスでいいんじゃない?
1.受け取りたい人がメッセージボックスを作成、パスを決める
2.送りたい人が投函する
3.主がパスで読む、他の人は読めない
目的は達成できそうな予感
0916nobodyさん
04/05/24 16:04ID:???【CGI】こんなCGI探してますver.13
http://pc5.2ch.net/test/read.cgi/hp/1081608108/
0917nobodyさん
04/05/25 09:10ID:???0918nobodyさん
04/05/27 23:32ID:???一定量を超えるとボタンを押しても切り替わりません。
どうやればいいのでしょう?
0920nobodyさん
04/05/28 11:00ID:???もしGETで受け取ってるならPOSTに直せ。
0921nobodyさん
04/06/01 12:28ID:???というURLを受け取ってそれがディレクトリなのかファイルなのかを知るのはどうやるの。
0922nobodyさん
04/06/01 18:51ID:???301とlocation:http://foo/bar/baz/が帰ってきたらディレクトリ。かな?
0923nobodyさん
04/06/12 23:57ID:H/qBX9ep2. 形式は"行番号 本文"
3. ブラウザでテキストを選択すると行番号は選択されずに本文を複数行選択できる。
ということをやりたいのですが可能でしょうか。
普通に<PRE>などで出力すると1.は可能で3.が不可能に、
テーブルを使うと3.は可能で1.が不可能になってしまいます。
0924nobodyさん
04/06/13 00:54ID:???1.の動作はむっちゃブラウザ依存じゃん。3.もかな?
行番号の形式が許せるなら<OL>(Ordered List)はいけるかも。
0926nobodyさん
04/06/13 13:34ID:???0927nobodyさん
04/06/13 15:57ID:???0928nobodyさん
04/06/13 18:07ID:???0929nobodyさん
04/06/28 17:33ID:???すんげー見た目悪いけど、3.は<TEXTAREA>を二つ使って、片方は行番号、もう片方に本文を出力すれば、
行番号は選択できんようになるが。
ダサいけどな。
お前さんが何をしたいのかがわからん。
0931nobodyさん
04/07/05 06:22ID:KmrVPKaj0932nobodyさん
04/07/05 11:46ID:???との記述を見かけますが、これは何による制限でしょうか?
HTML1.1のRFCを読みましたがそのような記述はないようです。
それともそのような制限はないということですか?
0933932
04/07/05 11:51ID:jPcBhI9p0934nobodyさん
04/07/05 12:23ID:???0935nobodyさん
04/07/05 12:29ID:???URLとして許容される最大長、という話だと思いますが、
私も以前RFCなどを調べてみて結局よくわからなかった経験があります。
Specification ではなく実装上の制限としては、
Internet Explorer で扱える URL の最大長は 2,083 character だそうです
(MSDN Support Q208427)。
httpサーバや proxyサーバにはこれより短い制限で実装されているものがあるかもしれません。
0936nobodyさん
04/07/05 15:35ID:???標準としてどうなってるかはHTTP1.1(RFC2616)の3.2.1参照。
結局HTTP1.1としては制限はないことになっているが、世の中の
clientやproxyが扱えないと意味はないのでそこは実装がどうなっ
てるかを調べるしかない。
安全側に振るならNoteにあるように255まででやめとけ。危ない方
に振る場合も935が紹介したIEの制限を越えるのはやめとくのが
いいだろう。独自clientしか使わないなら別だが。
0937nobodyさん
04/07/05 18:15ID:???0938nobodyさん
04/07/06 01:28ID:???ttp://support.microsoft.com/default.aspx?scid=kb;ja;208427
0939nobodyさん
04/07/06 01:30ID:???0941nobodyさん
04/07/15 19:25ID:???ユーザがページからログインする際に同時にチャットへログインさせて、
チャットのウィンドウを別ウィンドウで表示させようとしています。
フォームで、
名前 ________ パスワード _______ [ログイン]
と表示させているのですが、このログインのsubmitボタンを押すだけで
現在のページはログイン後の画面、同時に別ウィンドウでチャットのページを
開きたいのです。
<form>は入れ子にできず、submitボタンも一つしかつけられないらしいのですが、
このようなことは可能でしょうか?
よろしくお願いします。
0942nobodyさん
04/07/15 19:42ID:???ログイン後の画面にonloadイベント仕込んで
window.open でチャットウインドをオープンさせる、
とかじゃねえか?
JavaScriptね
0943941
04/07/15 19:48ID:???<from method="post" action="login.cgi">
...
<input type="submit" value="ログイン">
</form>
<from method="post" action="chat.cgi" target="chat">
...
<input type="submit" value="ログイン">
</form>
これだとどっちかしかできません...(T.T)
0944nobodyさん
04/07/15 19:52ID:???login.cgiにonLoadイベント仕込んで
window.open でchat.cgiを別ウインドウで開く
とかじゃねえか?
JavaScriptね
0945941
04/07/15 19:56ID:???ありがとうございます。
それだとチャットに入るためのウィンドウが開きますが、ログインまで
同時にしてくれないような気がしますが、違うでしょうか?
javascriptでウィンドウを開く時にcgiにname=""など送れますでしょうか?
# ん?
# window.open("chat.cgi?name=hogehoge&pass=hogehoge","chat")
# でオープンすればいいのかな?
0946941
04/07/15 19:56ID:???0947942
04/07/15 20:07ID:???login.cgiでログイン処理してるわけで、
そのlogin.cgiが吐き出すHTMLに仕込んだJavaScriptに
onLoadイベント仕込んで別ウインドウにchat.cgiを開く。
IDだのなんだののchat.cgiに渡す引数はGETでどーぞ。
0948紹介者
04/07/15 20:14ID:9VjwcHkZ面白いんでやってみてください。
0950nobodyさん
04/07/30 23:50ID:???0951nobodyさん
04/07/30 23:58ID:???0952nobodyさん
04/08/29 14:22ID:???改行の事でつまづいてしまいました。
書き込みされた本文が改行を何回されたのか?
というのはどうやったら分るのでしょうか?
色々と試してみましたがどうも上手くいきません。
何か方法がありましたら何卒ご教授下さいませ。
0953nobodyさん
04/08/29 14:58ID:???http://www.hyuki.com/writing/techask.html#level
0954nobodyさん
04/08/29 21:59ID:???こう書くひとは実は何も試してないことが多い
試したんならどうやったのか、どううまくいかないのか書くこと
0956nobodyさん
04/09/03 18:01ID:???エラーの元になっているファイル/フォルダのURLをオリジナルのエラーページに表示させようと
http://<!--#echo var="SERVER_NAME" --><!--#echo var="REQUEST_URI" -->
というコマンドと環境変数を使っていますが、
オリジナルのエラーページのURLが表示されます
ステップサーバー(http://stepserver.jp)というレンタルサーバーを利用しており、
そのサポートに問合せましたが、上記の記述で問題ない、との回答でした。
何かアドバイス・ヒントを頂けないでしょうか?
0957nobodyさん
04/09/04 00:01ID:???0958nobodyさん
04/09/11 23:30:56ID:???ttp://www.tryhp.net/oldscript.htm
books.lzhというリレー小説CGIをダウンロードして設置したんですが、何故か管理者メンテナンスモードがエラーになります。
パスはもちろん合っていますし、パーミッションも確認しましたが間違っているところはないです。
どうかご教授願えませんでしょうか?
0959958
04/09/11 23:32:14ID:???0960nobodyさん
04/09/12 02:02:50ID:???それにスレ違い。
0961958
04/09/12 02:14:00ID:???吊ってきます
0962nobodyさん
04/09/22 14:51:15ID:???つけるように改造して使っています。
ログインすると俳句が200程表示され、各俳句に1-10点と未選択のradioボタンが
表示されます。はじめは未選択がcheckedとなっています。
今のところ、未選択が1つでもcheckedになっているとjavascriptでエラーを出し、
CGI内部でも、採点されてない俳句がありますとエラーを出すようにしています。
中には2時間もかけて採点したが、javascriptがonでなく、CGI側でエラーに
なり、ブラウザで戻るとタイムアウトで採点したものが全て消えるという
ことになってしまいます。
radioボタンをチェックしたものが消えない、又は記憶、復帰させる方法は
ないものでしょうか?
0963nobodyさん
04/09/22 15:15:47ID:???0964962
04/09/22 16:32:04ID:???例えば50個ずつをページ遷移させてながら評価していくという意味でよろしい
でしょうか?
ログインと言ってもパスワードが合っているかチェックしているだけなので、
セッションなど利用していません。
できれば、セッションを使わない方法があればありがたいです。
radioボタンの状態をどこか(クッキーなりサーバなりローカルPCなり)に記憶する
ことはできないという認識はあっていますでしょうか?
0965nobodyさん
04/09/22 17:15:46ID:???0966nobodyさん
04/09/22 19:23:55ID:???0967962
04/09/22 19:33:12ID:???200個中198個採点してあったのが送信されてきたら、次のページでエラーを表示し
残り2個だけを表示して入力させるという形ですよね?
すごく良さそうです。シンプルなのに気が付きませんでした。
0969962
04/09/22 22:13:10ID:???あー、できないですねー。
セッションまでいかず、ユーザ名と採点配分を記録した一時ファイルを作れば
できそうな気もします。セッションハイジャックとかはないと思うので。
やっぱりいい方法はないのですかねぇ。
# cookieがradioの状態を保持してくれればなぁ...
0972nobodyさん
04/09/23 01:44:04ID:???0973nobodyさん
04/09/23 01:57:46ID:???別に整合性がとれなかったりセキュアにする必要もないし。
0975nobodyさん
04/09/24 08:56:49ID:???0976nobodyさん
04/09/26 22:57:31ID:???このtたびc言語でカウンタを作ったんです
それで実装しようとWEB鯖のほうで実装しようとしたんですがうまくいきません
鯖側でのディレクトリ構造
〜(鯖アドレス)/www/(自分のhtml置き場所) からCGIを呼び出したいんですが
〜(鯖アドレス)/cgi/(cgiファイル置き場所) にCGIファイルを置かなければならないそうです
アドレスはhttp://(鯖アドレス)/~(自分ID)/(自分のhtml) というカンジです
この場合htmlからcgiを<--#exec >で呼び出すには、パスはどうしたらよいでしょうか
教えてください 鯖はLINUXです
0977nobodyさん
04/09/27 00:18:00ID:???http://pc5.2ch.net/test/read.cgi/hp/1087986364/793
http://pc5.2ch.net/test/read.cgi/hp/1020917380/710
糞マルチに教えることはないからカエレ
0979nobodyさん
04/09/29 22:33:36ID:rZcAXTiWメール転送設定(.forward)が出来るcgiって有りませんか?
0981nobodyさん
04/10/07 02:57:56ID:???0982nobodyさん
04/10/07 03:00:13ID:???0983nobodyさん
04/10/07 18:37:48ID:???0984nobodyさん
04/10/07 23:13:08ID:???俺は立てられんから頼む。
0985nobodyさん
04/10/07 23:55:17ID:???過去ログは任せた
CGIの運用に関する質問スレッドです。
※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。
Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/
CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/
過去ログ・関連スレッドは>>2-10あたりに
0986nobodyさん
04/10/08 01:56:06ID:???関連スレは任せた
Part 3 http://pc.2ch.net/php/kako/988/988727833.html
Part 4 http://pc.2ch.net/php/kako/1000/10008/1000804655.html
Part 5 http://pc.2ch.net/php/kako/1009/10093/1009331505.html
Part 5.01 http://pc.2ch.net/php/kako/1015/10151/1015127347.html
Part 6 http://pc.2ch.net/php/kako/1019/10195/1019561283.html
Part 7 http://pc.2ch.net/php/kako/1025/10259/1025930486.html(スレタイをPart6と誤記)
Part 8 http://pc.2ch.net/php/kako/1032/10327/1032704121.html
Part 9 http://pc2.2ch.net/php/kako/1041/10415/1041530204.html
Part 10 http://pc2.2ch.net/php/kako/1048/10486/1048686475.html
Part 11 http://pc5.2ch.net/test/read.cgi/php/1055597189/
0987nobodyさん
04/10/08 18:26:45ID:???CGIで html を出力する時に、
<a href="hoge.html#jump"> と同じ事をやりたいのですが、
どうもやり方がわかりません
print 'content-type: text/haml', "\n";
print '<html><head><title>cgi test</title></head><body>'
print '<a name="#jump">jump先</a>';
print '</body></html>';
exit;
どなたか方法をご存知ありませんでしょうか
0988nobodyさん
04/10/08 18:51:00ID:???> <a href="hoge.html#jump"> と同じ事をやりたいのですが、
意味不明。
http://seo.seo-search.com/seo/sample01.html
> print 'content-type: text/haml', "\n";
print "Content-Type: text/html; charset=Shift_JIS\n\n";
0989nobodyさん
04/10/09 10:04:13ID:???0990nobodyさん
04/10/09 20:58:33ID:???0991nobodyさん
04/10/09 22:51:04ID:???俺は一昨日、昨日と試みたが無理だった。
0992nobodyさん
04/10/09 23:41:53ID:???CGIだけど、なんか質問ある? Part 12
でいいか?
0993nobodyさん
04/10/10 00:05:58ID:???CGIだけど、なんか質問ある? Part 12
http://pc5.2ch.net/test/read.cgi/php/1097334246/
0994nobodyさん
04/10/10 00:06:21ID:???Perl系の他のスレに自然吸収でいいだろ。空気嫁。
0996nobodyさん
04/10/10 15:12:34ID:???0997nobodyさん
04/10/10 17:53:26ID:???0998nobodyさん
04/10/10 18:49:47ID:???0999nobodyさん
04/10/10 18:50:54ID:???1000nobodyさん
04/10/10 18:55:22ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。