CGIだけど、なんか質問ある? Part 6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/07/06 13:41ID:Mpxtn4bk※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
Perl 初心者コーナー Part13
http://pc.2ch.net/test/read.cgi/php/1022731565/l50
過去ログ・関連スレッドは >>2
0132nobodyさん
02/07/16 16:53ID:???こちらが発行したクッキーがあるかどうか調べて、あったら、htmlファイルへのアクセスを許すというcgiが欲しいのです。
htmlファイルにアクセスされたら自動的にcgiが動いて調べて通すか通さないか決める。
こういうのってありますか?
というか、htmlファイルにアクセスされたら他のcgiが動くなんて出来るんですか?
0133nobodyさん
02/07/16 17:14ID:???time(), times()か、その〜
でした。ごめん。
0135nobodyさん
02/07/16 17:23ID:???できるよ。
SSIを使用して
何もないhtmlファイルにそのCGIを読み込むSSIのタグを記入。
それでもrefは取得できるから
良ければ指定のファイルを読み込んで表示。
だめならエラーを表示。
0136nobodyさん
02/07/16 17:27ID:???Action image/html /~user/bin/ref.cgi
0137nobodyさん
02/07/16 17:27ID:???text/html
0138132
02/07/16 19:22ID:???レスどうも。
まさかそんなフリースクリプト無いですよね。
0139nobodyさん
02/07/16 20:45ID:???くれくれ君でしたか。
URL に 〜.cgi ってのが出るのがいやじゃないなら
PATH_INFO を使ってやってくれるのもあるだろうね。
cgiwrapper みたいなかんじで。
でも、対象のファイルがパブリックなとこにあったら
あんまり意味ない。
シームレスにやるんだとしたら .htaccess 使えないとちょっと。
0140nobodyさん
02/07/16 21:19ID:???エラーになってしまいます・・・。いい解決方法ないですか?
{$A = $B / $C;}
$D = sprintf("%.2f",$A);
0141nobodyさん
02/07/16 21:27ID:???↑これってなにを表してるんですか?
0142nobodyさん
02/07/16 21:27ID:???どんなエラーなのか分からないとなんともいえないな。
エラーメッセージが
Illegal division by zero
ってのなら、$Cに入っている値が0または数値として有効な値ではない、ってことで
キミの考えている値が$Cに入っていないということなんだけど。
0144140
02/07/16 22:39ID:K1PKQlrMそのとおりでした!
無事解決です。どもです。
0145nobodyさん
02/07/17 12:32ID:???のaiueoを変数として受け取りたいのですがどうすればいいでしょうか。
0146コギャル&中高生
02/07/17 12:36ID:k/AJy+eKお役立ちリンク集
必ず役立ちます
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便
↓
http://kado7.ug.to/wowo/
0147nobodyさん
02/07/17 12:38ID:???local(@pairs) = split(/&/,$buffer);
foreach $pair(@pairs){
local($name,$value) = split(/=/,$pair);
$FORM{$name} = $value;
}
0148nobodyさん
02/07/18 00:52ID:PSEaDSiMdbmopenを使っているPerlスクリプトを、CGIとしてApacheで動かし
たいんですが、dbmopenが動きません。.htaccessファイルの設定
がいるのでしょうか?
お分かりになる方、ご教授ください。
・dbmopenのないCGIスクリプトは問題なしです。
・別のPerlスクリプトをローカルで動かすと問題なしです。(http://www.psl.ne.jp/perl/pdojo03.htmlのスクリプト)
0149nobodyさん
02/07/18 00:57ID:PSEaDSiM不十分なので、再度。
「dbmopenを使っている別のPerlスクリプトを動かすと
問題なしです。これは非CGIスクリプトです。
(http://www.psl.ne.jp/perl/pdojo03.htmlのスクリプト)」
0151nobodyさん
02/07/18 01:18ID:PSEaDSiMですよね。(^^;
このCGIスクリプトでは、ほとんどエラーメッセージがで
ないんです。「スクリプトに use CGI qw(:standard); を付
ければ」というのを頂いたのですが、このスクリプトには
既にこれが記入されていました。
十分なエラーメッセージを出す方法がわかれば、と思うん
ですが、、
0152nobodyさん
02/07/18 02:20ID:BBLbgizeuse CGI::Carp qw( fatalsToBrowser );
を入れてみたら?
エラーをブラウザに表示してくれるよ。
0153nobodyさん
02/07/18 02:28ID:???同じ質問に同じ解答をしてそれに対し同じような返事がきてまた同(略
本気でデジャヴかとおもたよ
◆JAPH9PWA さん〜よく頑張ってますね(はぁと
0154nobodyさん
02/07/18 09:38ID:PSEaDSiMuse CGI::Carp qw( fatalsToBrowser );は既に入っていて、
そのエラーメッセージは下の1行だけです。
(dbmopen) ./diff
0155nobodyさん
02/07/18 16:42ID:???のページで下の文を参考にしたのですが、標準入力の値がうまく取れませんでした。
if ($ENV{'REQUEST_METHOD'} eq "post"){
read(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}
で、$ENV{'REQUEST_METHOD'}をprintで見たらPOSTが入っていました。
で、($ENV{'REQUEST_METHOD'} eq "POST")にしたらうまくいきました。
上の例文は間違っているんでしょうか?
0156nobodyさん
02/07/18 16:45ID:???0157fusianasan
02/07/18 16:46ID:???ネタにしても、もちっとレベルの高いやつを書こうね!
0158nobodyさん
02/07/18 16:46ID:yrmBF5Vl>メソッドは当然postで。(XHTMLでは大文字は禁止)
と書いてありますが。
0159nobodyさん
02/07/18 16:46ID:???0160nobodyさん
02/07/18 16:47ID:???なんでそこでXHTMLが出てくるんだ?
0161nobodyさん
02/07/18 16:53ID:???UA は大文字でリクエスト出すと思うけど。
POST /~gikogiko/cgi-bin/bbs.cgi HTTP/1.1
みたいな感じで。
request-methodの大文字小文字は環境依存な気がする。
lc($ENV{REQUEST_METHOD}) eq "post" とでもするべき。
ていうか、そのページなんか変じゃないか?
> メソッドは当然postで。(XHTMLでは大文字は禁止)
もしかして属性の値も小文字じゃなきゃいけないと思っているのだろうか…。
俺の読み間違い?謎。
その他の説明も質が悪いよ。
そんなページを参考にしてると変な癖がつくから、もっとまともなものを参考にした方がいいよ。
0164nobodyさん
02/07/18 16:56ID:???確かに同意だが、それは要素の話。属性値は関係ない。
そのページのpostが間違ってる。POSTと書くべき。
0165155
02/07/18 17:18ID:???いろいろレスが付くと本当にどれが本当なのかわからなくなっちゃいます。
どうかお願いします。
$ENV{'REQUEST_METHOD'} が返す値はpostの時は、
post ですか? POST ですか?
決まっていないですか?
決まっていないとしたら>>162さんのlc(小文字に変換)のやり方をやればいいんですよね?
0168nobodyさん
02/07/18 17:40ID:???0173nobodyさん
02/07/18 18:24ID:???REFERER残し晒し
0174nobodyさん
02/07/18 19:17ID:???意味がわからないです。
0175nobodyさん
02/07/18 19:50ID:???GET ならある
0176nobodyさん
02/07/18 22:46ID:???if ($ENV{'REQUEST_METHOD'} eq "post"){
read(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}
じゃこれは間違いなんですよね?
0177nobodyさん
02/07/18 22:48ID:???0178nobodyさん
02/07/18 22:50ID:???\tread(STDIN, $str, $ENV{'CONTENT_LENGTH'});
}
一件落着。
0179nobodyさん
02/07/21 15:08ID:oVSm9VL9テキスト入力をする場所を80個くらい作り、
それらすべてに書き込み&送信しても不具合とかはないですよね?
不安定になるとか、負荷が過度にかかるとか。
複数の人の登録をまとめて行おうと思うのですが。
0182nobodyさん
02/07/21 16:11ID:???REQUEST_METHODの値は小文字になることもあるって聞いたけど。
だから俺は標準関数のstrcmpは使わないで大文字小文字を区別しないstrcmpを自作して使っている。
0185nobodyさん
02/07/21 16:17ID:???0186182
02/07/21 16:19ID:???REQUEST_METHODの中の文字を全てtoupperで大文字にしてからstrcmpにかけろということ?
環境変数の値は変えたくないんだけど・・・
0187nobodyさん
02/07/21 16:21ID:???0191nobodyさん
02/07/21 16:25ID:???0194nobodyさん
02/07/21 16:32ID:???0195nobodyさん
02/07/21 16:32ID:???int i;
strcpy(buf,getenv("REQUEST_METHOD"));
for(i=0;buf[i];buf[i]=toupper(buf[i])) ;
if(strcmp(buf,"GET")) printf("GET以外\n");
else printf("GET\n");
ここまでするの・・・
0197nobodyさん
02/07/21 19:37ID:???なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
環境を教えてほしい。
考えられるのはクライアントが"Get"等でアクセスしたのがそのまま通されるか、
HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
メソッドはRFC上はcase-sensitiveなので、クライアントがGetやget等で
リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。
無論、メソッドを勝手に改変するHTTPDもタコ。
そんなHTTPDある?
0198nobodyさん
02/07/21 20:49ID:???strチンポくらい自分で掻け
>なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
意味不明、死ね
>HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
んな訳ないだろ
>リクエストしてもエラーを返すべき。それをしないHTTPDはタコ。
shallだろ、mustじゃねー やっぱり死ね
>無論、メソッドを勝手に改変するHTTPDもタコ。
妄想ですか?
shallの解釈位自分でやれ
実際問題、Getを飛ばしてくるアンポンタンなクライアントは
存在する、それだけ。
0199nobodyさん
02/07/21 20:55ID:???>>なおむしろ、CGIで渡される環境変数REQUEST_METHODが、小文字になる
>意味不明、死ね
CGI素人なら黙ってな。
>>HTTPDがCGIで環境変数を渡すときに勝手に改変するか。
>んな訳ないだろ
あるが?HTTPDが環境変数を設定する以上、無いという方が難しい。
夏休みって嫌い。
0200197
02/07/21 21:15ID:???思ったんだけど、ちがうのか。っていうか、自分のプログラムでstricmpな
環境では単純にプリプロで#define strcasecmp stricmpとしている物があるの
で、それで済まない環境があるなら知りたいという意味で聞いたのだけど。
あと、HTTPDに関しても非サポートリストに加えたかったので聞いただけ
なんだけどな。
蛇足ながら、shall じゃ無くて SHOULDね。
0201nobodyさん
02/07/21 21:22ID:???0208nobodyさん
02/07/21 21:53ID:???そんなリクエストメソッドはないんだから。
0209nobodyさん
02/07/21 21:57ID:???>ないんじゃない?
とは何だCGIのプロさんよ
自分でクライアント書いてGetでその辺のサーバに
リクエストしてみろよ
そんな偏屈サーバに当ったらここに書き込んでくれ
0210197
02/07/21 22:02ID:???ミンナコワイヨウ…
0212nobodyさん
02/07/21 22:18ID:???Get / HTTP1.1
HOST: yahoo.co.jp
した結果
HTTP/1.1 400 Bad Request
Date: Sun, 21 Jul 2002 13:17:35 GMT
Connection: close
Content-Type: text/html
0214nobodyさん
02/07/21 22:29ID:???ムヒョ! MethodNotImplemented返ってきた
あれえおかしいなあ、Getもいけてた筈なんだけどなあ
もしかして、俺間違えまくりチョー-厨房って感じ?
偉そうにしてゴミンナサイ
今すぐ首括って死にます (チョー死んでお詫び
0215nobodyさん
02/07/21 22:29ID:???Get / HTTP/1.1
Host: www.yahoo.co.jp
HTTP/1.1 501 Method Not Implemented
Date: Sun, 21 Jul 2002 13:28:12 GMT
Allow: TRACE
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
0216197
02/07/21 22:54ID:???楽しんでたのにぃ。
ちなみに、Netscape-Enterpriseやら、Microsoft-IISにGetで投げると
404が帰ってきます。なぜ404かと問いつめたいですが・・・
この辺のサーバでCGIな所は見つけるの面倒なので探しませんでしたが
たぶん同じでしょう、IISのASPなところも404でした。
んで、GoogleのGWSだけは、200で普通に返してきます。
もしかしたら外部からの特殊クライアントに配慮してるのかも。
なんにしろ、逝ってらっしゃい〜
0217コギャル&中高生
02/07/21 23:12ID:8IhQDrIii/j/ez/対応です
お役立ちリンク集
必ず役立ちます
サイト管理者お役立ち集
1日4000HIT以上
↓
http://kado7.ug.to/wowo/
i/j/ez/対応
コギャルとH出来るサイトはここ
ヌキヌキ部屋へ直行便
↓
http://kado7.ug.to/wowo/-a.htm
i/j/ez/対応
0218nobodyさん
02/07/21 23:53ID:???0219nobodyさん
02/07/22 06:49ID:1nREPLNCteacup掲示板の無料タイプなんですが、これにアクセス解析を別途に
付ける事は可能なんでしょうか?
いや、自分が付けたいわけじゃなくて、訪問先のサイトにそういう事が
出来るんだったら、しょっちゅう見に逝ってるのが知られるとハズカシーなあ
と思ったのですが。
0220sage
02/07/22 07:03ID:rjydbpOU掲示板のタイトルなんかがhtmlで記述出来るなら可能だろうよ
掲示板自体に解析機能が付いてたっておかしくないし
0221nobodyさん
02/07/22 11:03ID:???これで合っていますか?
$hoge =~ s/\r\n/\x3cBR\x3e/gm;
$hoge =~ s/\n/\x3cBR\x3e/gm;
$hoge =~ s/\r/\x3cBR\x3e/gm;
0222221
02/07/22 11:03ID:???0223221
02/07/22 11:10ID:???$hoge =~ s/\r/<br>/g;
$hoge =~ s/\n/<br>/g;
もう一つ見つけました。ほとんど同じですが。
スマートとかスマートじゃないとかあるんでしょうか。
0224nobodyさん
02/07/22 11:19ID:StGZBnhO見た目にはこっちのがスマートだけど>>223のが微妙に速い。
自分にとってメリットの多い方使えば?
0226221
02/07/22 11:34ID:???0228nobodyさん
02/07/22 15:59ID:???log.txtにデータを保存しています。
で、log.txtのパーミッションは666です。
よくCGI配布サイトでログファイルは666にしろと書いてあるのでそのまま真似ました。
ファイルの書き込みは成功しました。
ファイルをFTPでダウンロードして確認するとちゃんとデータがあります。
だけど、ブラウザで直接log.txtを見るとまる見えになっていました。
log.txtには当然パスワードとか大切な情報もあるので自分以外の第三者には見られたくありません。
パーミッションがなんかいけないのかと思い、622にしてみました。
するとブラウザでは403エラーが出て見えなくなりました。
ファイルの書き込みテストをしても正常に動作しました。
これでいいんでしょうか。何か間違っているとこがあれば教えてください。
0229nobodyさん
02/07/22 16:24ID:???これ、最低限の常識。
0231228
02/07/23 09:59ID:???■ このスレッドは過去ログ倉庫に格納されています