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

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

■ このスレッドは過去ログ倉庫に格納されています
0001ななし ◆E6qQ.htN7o 03/01/03 02:56ID:H5ub4PWW
CGIの運用に関する質問スレッドです。

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

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

過去ログ・関連スレッドは >>2-5 あたりに
0511nobodyさん03/03/02 23:23ID:???
>>510
すいません、環境書いていませんでした。
apache + linux です。
一応今試しましたが、Internrel Server Errorが帰ってきます。
error_log には、Premature end of script headers:
です。
なお、httpd.conf には、TypesConfig /etc/mime.types
となっていて、png は入っています。

0512nobodyさん03/03/03 00:16ID:???
>>511
ヘッダー吐く前に死んでるってあるから、
少なくともバグはprintfよりも上にあるってことがわかるな。

ファイル名は*.cgiなんだから……http:d.confは.cgiがどんな扱いになってるのかを確認した方がいい。
0513nobodyさん03/03/03 00:18ID:???
実行権限無かったり・・・まさかな。
0514nobodyさん03/03/03 01:05ID:???
>>513
アリ ※-(・∀・)/※ エール
0515nobodyさん03/03/03 12:11ID:???
>>512
>>513
 cgi は、実行できます。printenv.cgi で試しました。
>>514
 まさかの事態のため、$ chmod 777 test.cgi と
 実行権限は設定してありますので。

 なお、cgiのコンパイルは、以下のように通しています。
gcc -o ./test.cgi ./test.c -static -lgd -lpng -ljpeg
-lm -lz -Wall -O2
  実際、上記のソースで動くんでしょうか?
 環境が問題なのか、切り分けしたいので・・・。
0516nobodyさん03/03/03 12:44ID:???
>>512
>>513
>>514
 ごめんなさい、 ごめんなさい、 ごめんなさい、 
 ごめんなさい、 ごめんなさい、 ごめんなさい、

 chmod 755 or chmod 700 で動かしたら動作しました。

   ∧_∧
  ( ´∀`)<ねー。許してね。
  (    )
  / / /
 (_)_)
0517nobodyさん03/03/03 13:03ID:???
>>516
許してーあ・げ・な・いっ♥♪
許してーあ・げ・な・いっ♥♪
0518nobodyさん03/03/03 13:47ID:???
>>515
もしもどこかでpopenを使っていたら、popen前(というよりパイプに書き出す前)にstdoutをフラッシュしておいた方がいい。
以前これで小一時間悩んだことが・・・
051951803/03/03 13:58ID:???
探すのが面倒な場合は、とりあえずmainの先頭にsetvbuf(stdout,NULL,_IONBF,0L);(要stdio.h)を追加してstdoutをバッファリング無しにしてみる。
0520nobodyさん03/03/03 15:36ID:???
>>518
>>519
fflush(stdout)ですね。
とりあえず、gdライブラリを使っているので、大丈夫です。
popen ということは、ppmtogif 等のコマンドに対して、
パイプを使って書き込むパターンですね。
 試したことはないので、試す際には参考にさせてもらいます。
0521nobodyさん03/03/03 16:18ID:0801sff0
↓↓↓↓↓★ピンクエンジェル★↓↓↓↓↓
http://www.pink-angel.jp/betu/linkvp/linkvp.html
0522nobodyさん03/03/03 18:40ID:CiYwJP6e
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

http://www5b.biglobe.ne.jp/~ryo-kyo/osukon.html

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
0523poor03/03/04 05:12ID:pSR3aMdf
質問です
0524poor03/03/04 05:17ID:pSR3aMdf
PERLに詳しい方お願いします。
2箇所機能的に動かないところがあります。
直していただけれましたら5000円お支払いします。
0525nobodyさん03/03/04 05:43ID:???
安過ぎだろ・・・まじで。
0526nobodyさん03/03/04 06:32ID:???
>>524
#!/usr/local/bin/perl
      ↓
#!/usr/bin/perl

2500円でいいや。
0527poor03/03/04 11:28ID:pSR3aMdf
まじめに!!
もう少し支払ってもいいです。
メールアドレスを下さい。
添付でファイルを送ります、
0528nobodyさん03/03/04 11:57ID:???
ネタ確定。
↓その後の言い訳。
0529poor03/03/04 12:34ID:pSR3aMdf

# AND OR 判断
if ($method eq 'AND' && $flag == $queryNum){
for ($j = 0; $j < 38; $j++){
$hits[$hitCounts][$j] = $clients[$i][$j];
}
$hits[$hitCounts][38] = $flag;
$hitCounts++;
}elsif ($method eq 'OR' && $flag > 0){
for ($j = 0; $j < 38; $j++){
$hits[$hitCounts][$j] = $clients[$i][$j];
}
$hits[$hitCounts][38] = $flag;
$hitCounts++;
}
}
return $hitCounts;
}
0530nobodyさん03/03/04 13:23ID:???
>>529
{ } の対応が合っていないから
当たりですか?
0531nobodyさん03/03/04 13:45ID:???
>>529
冗談はおいといて、何をしたいんだ?
ifもelifもやってること同じじぇねーか
しかもループ外で++してるだけならreturnは最初より1増えて
戻るだけだろ

やっぱりネタか
↓↓↓次の方どうぞ↓↓↓
0532poor03/03/04 14:06ID:pSR3aMdf
メーアドレス教えて下さい。振込先口座も。
業者に頼むと3万円と言われました。
0533poor03/03/04 14:41ID:b5xaOKg7
2万までなら払います。
0534nobodyさん03/03/04 14:48ID:???
>>529が本物のソースなら他にも突っ込みどころ満載だろうよ。
ソース全部晒して何をどうしたいか言え。
それで大勢に見てもらったほうがよっぽどよくなるだろう。
0535nobodyさん03/03/04 14:48ID:xylsMcYb
パーミッションについての質問です。
おそらくこの板の皆さんにとっては馬鹿らしい内容かとは思うのですが真剣に悩んでおりますのでどうか教えてください。

掲示板のパーミッション設定ですが、使用者が
(1)管理者 (2)グループ (3)その他
の3つに別れてますよね。
で、権限が
(a)呼び出し (b)書き込み (c)実行
の3つと。
パーミッション設定する場合、(1)である自分自身は(a)(b)(c)すbラて有効でないbニいけないと思b、んですが、
(2)(3)については、それぞれ(a)〜(c)のどの部分を有効にすべきなのかを教えていただきたいのですが。
0536nobodyさん03/03/04 15:07ID:???
>>535
setuid実行環境なら、プログラムの置かれているディレクトリにはその他への実行権限が必用。
他は所有者にのみ権限を与えればよい。

そうでない場合は、プログラム本体には読みとりと実行を、ログファイルには読みとりと書き込みの権限を与える。
もしも実行時にファイルを作成することがあるのならば、その他へ書き込み権限を与えた専用のディレクトリを作成する。間違ってもそれを他の用途に使ってはならない。
0537nobodyさん03/03/04 15:22ID:???
>poor

こいつマルチポストしてるから答えなくていいよ
0538nobodyさん03/03/04 15:38ID:xylsMcYb
>>536さん
とてもよくわかりました!
ありがとうございました!
0539Name_Not_Found03/03/04 18:07ID:I14iMBLm
ねえねえ、今動いてる、なんの変哲もないCGIチャット。

これを SSL サーバで動かそうと思ったら、
SSL 対応のための修正がいるんですかね?

一般に、SSLサーバで動くCGIには、通常に比べて
制限などはありますか?
0540nobodyさん03/03/04 19:42ID:???
>>539
特に何もすることはないですよ。
0541nobodyさん03/03/04 20:23ID:Yab0v18z
配布されている掲示板を使っていて、ふとログを見てみると
日付に関するところが"1046714534"のような
数字になっているんですがこれは何を表しているんでしょうか?
また、どのように展開するのでしょうか?
0542nobodyさん03/03/04 20:38ID:???
>>541
1970年1月1日0時0分0秒からの経過時間(秒)
0543nobodyさん03/03/04 20:57ID:???
>>541
> どのように展開するのでしょうか?
localtime(3)
0544nobodyさん03/03/04 21:41ID:v+m1rapO
C=C=C=┌(;・_・)┘トコトコ
http://hkwr.com/
http://hkwr.com/bbs
0545nobodyさん03/03/06 00:23ID:DsuR7EV5
あるグループで、データベースをホームページで閲覧・管理するための
CGIを探してます。商品名・価格・販売個数などの欄を、掲示板感覚で
手軽に書き換えられるようなCGIを無料配布してるとこないでしょうか?
WebDBを管理するもので管理者以外でも書き込めるもの、です。

イメージ的には、Webオークションとかをやるようなサイトが使っている
CGIなんですが、無料配布されているところはないでしょうか。。。

普通の掲示板だとレスが長々とついていってしまい、管理も、閲覧するときも
みづらくなってしまいますので・・

販売個数や売上げなどのいくつかの項目を随時手軽に更新させられるような
ものがあれば教えていただけませんでしょうか
0546nobodyさん03/03/06 00:49ID:???
>>545
こんなCGI探してますスレッド Ver8
http://pc2.2ch.net/test/read.cgi/php/1041564353/
0547nobodyさん03/03/06 04:15ID:???
IPアドレスを偽装すれば、何か犯罪になるのでしょうか?
0548nobodyさん03/03/06 04:19ID:???
   ______________
 /:\.____\
 |: ̄\(∩´∀`) \  <先生!こんなのがありました!
 |:在  |: ̄ ̄ U ̄:|
http://saitama.gasuki.com/mona/
0549nobodyさん03/03/06 05:11ID:???
>>547
セキュリティ板へどうぞ
0550nobodyさん03/03/06 08:01ID:???
フリーのアクセス解析CGIを利用しているのですが、
IE6.0を使っている人から403エラーで中に入れないと指摘がありました。
念のためエラーページにも解析を入れたところ、
IE6.0でもエラーの出る人と出ない人がいるようです。
当方マカーのためIE6.0のことはよくわかりません。

原因のわかるかたがいらっしゃいましたら、是非教えてください。
宜しくお願い致します。
0551nobodyさん03/03/06 08:08ID:???
>>550
パーミッションは?
055255003/03/06 08:23ID:k3C4MM6+
>>551
パーミッションは、cgiは755、datは666です。
0553nobodyさん03/03/06 18:30ID:???
ここのずるぽんあぷろだ改造版
http://www.geocities.co.jp/SiliconValley-Bay/4472/script/zurubon.html
をアップしてCGIにアクセスすると

open error!

fileのopenが出来ません。


Return

と出てくるのですが何が悪いのでしょうか?
readmeがないので設定がよくわからないのですが・・・
0554nobodyさん03/03/06 19:14ID:???
>>553
>本家を自分一人で設置できるぐらいのスキルが最低限必要です。

って書いてある。
トラブルを自己解決できないような香具師は使うなってことだね。
0555nobodyさん03/03/06 19:23ID:???
>>554
http://cgi2.html.ne.jp/~around/bbs/bbs.cgi?book=script_support
ここで解決した。
普通は707なんてパーミッション滅多に使わないので
解らなくて当然では?
と自分で自分を擁護してもしょうがないので、
ではさらば
0556nobodyさん03/03/06 19:55ID:???
滅多に使わないの?
俺良く使うけど。
0557nobodyさん03/03/06 20:34ID:???
>>556
だいたいは755じゃない?
CGIの場合。
0558nobodyさん03/03/06 21:55ID:???
>>557
何故グループにアクセス権あげるの?
0559nobodyさん03/03/06 22:15ID:???
>>557
今時suEXEC知らん奴なんているのか?
0560nobodyさん03/03/07 20:30ID:???
滅多に使わないとか、良く使う、とかって何か不思議な争いだなぁ
目的にあったパーミッションを考えたら当然だと思うんだが。
0561nobodyさん03/03/07 20:56ID:???
>>560
000。恥ずかしい過去。
0562nobodyさん03/03/08 03:43ID:???
>>557
グループにアクセス権与えるのは愚の骨頂だよ。
CGIの中に管理用パスワードとか書いてあれば抜き放題。
0563nobodyさん03/03/08 11:36ID:IsIbiOhH
まじっすか!Σ(゜�凵K)
CGIの中に管理用パスワード置いてました
0564nobodyさん03/03/08 11:39ID:???
>>562
その他に与えるのは大丈夫なの?
0565nobodyさん03/03/08 12:10ID:???
>>564
与えないとnobodyさんが読み書きできません。

まぁ、suExecの場合は与えちゃダメですが。
0566nobodyさん03/03/08 13:13ID:???
1ユーザ=1グループか全ユーザ=1グループなど、
サーバ側がグループをどう扱っているかによるけど、
与えないほうが無難だな。
0567nobodyさん03/03/08 13:14ID:???
UNIX板の人にぜひ読ませたいスレだな(w

不必要なアクセス権を設定しちゃいけません。
間借りしてるなら規定されているはずだし、
自分で立ててるならちゃんと管理してねってことで。
0568nobodyさん03/03/08 13:23ID:???
だいたい共有鯖を使ってる時点で(以下略
0569nobodyさん03/03/08 13:28ID:???
>>568
telnetが思いっきり口を開けてる自宅鯖も十分怖いけどな。
0570nobodyさん03/03/08 13:44ID:???
(;´○`)
0571nobodyさん03/03/08 15:45ID:???
スクリプトが、ファイルを作らなければいけない場合の
安全なディレクトリのパーミッションについて。

1.suEXEC ON
 0700

2.OFF
 0777 =>常に危険
 0707 =>一般ユーザーが隔離グループに入ってる場合は有効。

でも基本的にsuEXECじゃない共有鯖は安全じゃない
0572nobodyさん03/03/08 18:17ID:???
どんな設定にしようと管理者には丸見えなんだよな(;´○`)
0573nobodyさん03/03/08 19:40ID:???
>>572
何か問題あるか?
0574nobodyさん03/03/08 22:00ID:???
>>572
あーんな物とかこーんな物とか?(;´Д`)ハァハァ
0575nobodyさん03/03/08 23:09ID:???
>>573
会社のメールアカウントを私的利用したらばれちゃう。
0576nobodyさん03/03/09 19:30ID:zYZaV2tZ
とあるCGIにファイルをダウンロードするフォームがあるんだけど、
ダウンロードボタンを押すとそのままブラウザにそのファイルが表
示されてしまう。TXTであれHTMLであれCGIであれそうだ。
これって何がいけないのかな?原因わかる?
ほかのサーバーにおんなじCGIを置いてボタンを押すとちゃんとDL
ダイアログが出てDLできるんだが・・・。
0577nobodyさん03/03/09 19:31ID:???
>>576
>とあるCGIにファイルをダウンロードするフォームがあるんだけど、

この辞典で訳がわからなくなった。
0578nobodyさん03/03/09 19:34ID:048q+sGA
http://bbs.1oku.com/bbs/bbs.phtml?id=rantyan
★その目で確認すべし!!★超おすすめ★
057957603/03/09 19:37ID:zYZaV2tZ
>>577
ダウンローダーとかファイル管理CGIとか、そんなようなやつ。
------
| DL |
------
↑ボタンを押すと選んだファイルがDLされるっていう動作になるはずが
ならないんだよ・・・。
0580nobodyさん03/03/09 19:51ID:???
>>579
Content-Typeがおかしいのでは?
0581nobodyさん03/03/09 20:36ID:???
>>579
>>580だと思う。application/octet-streamになっている?
0582nobodyさん03/03/09 20:37ID:???
さすが通信分野だよな。バイトストリームじゃなくてオクテットストリームか。
0583nobodyさん03/03/09 20:38ID:???
>>582
MIMEを通信と言い切ってしまうにはちょっと抵抗あるけどな。
0584nobodyさん03/03/09 20:41ID:???
>>583
MIMEって通信以外でも使われているの?
0585nobodyさん03/03/09 20:43ID:???
>>584
どっちかというとワイヤプロトコルだからちょっと違和感って感じ。
0586nobodyさん03/03/09 20:46ID:???
>>585
言いたいことが分かったような分からないような・・
まあちょっと違和感と言っているから全く筋違いというわけでもなさそうだな。
0587nobodyさん03/03/10 00:12ID:p/bgqDIW
cgiでmp3のID3タグの内容を取得できないでしょうか?
0588nobodyさん03/03/10 00:21ID:???
>>587
ファイルをバイナリとして分解してID3部分を取り出せばできますが
0589nobodyさん03/03/10 00:35ID:???
ID3v2のCOM使えば瞬間芸の予感
059058703/03/10 00:47ID:???
すんなせん、もうちょっとヒント下さい。
0591nobodyさん03/03/10 01:17ID:???
>>590
>>589をミロ
059258703/03/10 01:32ID:???
すんません、ID3v2のCOMがわからないです・・・

バイナリで取得するって事ではない、んですよね?
0593nobodyさん03/03/10 01:37ID:???
>>592
検索の仕方も知らないのか?プログラム書くのはこれっきりやめろ。
http://216.239.39.101/search?hl=ja&ie=UTF-8&oe=UTF-8&q=ID3v2+%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
普通のライブラリもPerlモジュールもどっちも1分で見つかったぞ。
059458703/03/10 01:51ID:???
すいませんCOMの意味を知らなかったんで・・・、

検索行ってきます。

ヒントありがとう。
0595nobodyさん03/03/10 15:33ID:waQu7wS1
はじめてCGIでカウンタを付けようとしている初心者です。
相談にのっていただけませんか。

借りているサーバーがパーミッションの設定・変更はできないと書いてあり、
FTPソフトでいじることができませんでした。
CGIの実行やCGIによるファイルの読み書きにつきましては、
パーミッションの設定・変更なしに利用できると書いてあったので
実際CGIをアップしてみたのですがエラーになって表示されませんでした。

CGIが間違っているせいなのか、パーミッション変更不可のため動かないのか、悩んでいます。
0596nobodyさん03/03/10 16:05ID:???
age
0597nobodyさん03/03/10 16:24ID:y6h+x0ia
>>595
説明不足でよくわかりません。
どこのサーバーとか、
そのサーバーの設定等がWEB上で見れれば何とかなるんだが・・・。
(たまに説明をWEBでしてるところあるよね)

とマジレスしてみるテスト。
059859503/03/10 16:24ID:???
いろいろ検索してみたのですが、パーミッションの変更ができないということは
そもそもCGIの設置は無理なのかもしれません。
念のため、使っているサーバーのCGIについてのページを貼ります。
やっぱ無理でしょうか?
↓
ttp://www.onamae.com/help/18-5.shtml
0599nobodyさん03/03/10 16:28ID:???
>>598
/*
プレミアサーバーの仕様は?
仕様は以下の通りとなっております。
・Microsoft Windows2000 Server
・Microsoft Internet Infomation Server(IIS)5.0
・Microsoft Exchange2000
なお、Perlはバージョン5.6.1を使用しております。
*/

よって、UNIX特有のパーミッションという概念はありません。
0600nobodyさん03/03/10 16:30ID:???
>>599
Winじゃん。
ローカルで動作確認できるんじゃないの?
060159503/03/10 16:33ID:???
>>599 ありがとうございます。

パーミッションという概念がない場合、
どんなCGIも自動で機能するのでしょうか?
それとも、それ用のCGIを選択して使用するべきなのでしょうか?
先ほど試みたのはKENTWEBのeカウンタというものです。
(いちばん簡単そうに見えたので)
ttp://www.kent-web.com/count/ecount.html?
0602nobodyさん03/03/10 16:34ID:M2RJhlYt
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
★その目で確認すべし!!★超おすすめ★
060359503/03/10 16:35ID:???
>>600
ローカルで動作確認ですか?
意味すらわからないレベルなので、ちょっと検索して調べてきます。
ほんとに知識不足で申し訳ありません。
0604nobodyさん03/03/10 16:44ID:???
>>603
先に >>598 と >>601 みたいな情報を出すようにしてくれ。

で、暇だったので試してみたけど、中身まったくいじらなくても置くだけで
http://(略)/ecount.cgi?check は動作したよ。
こちらは Apache + ActivePerl で IIS じゃないけど、まあ変わらんでしょ。
060559503/03/10 17:05ID:???
>>604
今、中身をいじらずにアップしてみましたが
ログファイルのパスが不正です:./ecount.dat
ログファイルのパーミッションが不正です
と表示されてしまいました。やっぱり駄目みたいです。ああ。。。

ローカルで動かすにはソフトをダウンロードしなくてはならないようなので
また後で来させていただきます。
どうもありがとうございました。
0606576=57903/03/10 17:13ID:AgGCKLX9
>>580
>>581
回答ありがと。
チェックしてみたらこうなってました。
print qq(Content-type: application/octet-stream\nContent-Disposition:attachment;filename=$1\n\n);
これでいいんですよね?
というか、他のサーバーではできたから問題はここじゃないような気がするんですけど・・・
#octet-streamなんて初めて見た・・・(汗)
0607nobodyさん03/03/10 17:17ID:y6h+x0ia
>>605
ならば、ttp://www.onamae.com/help/18-5.shtml
の「Perlでパスの指定がうまくゆかない。」の項目をよく見よ。
このサーバーの厄介なところじゃないかな。
060857603/03/10 17:33ID:AgGCKLX9
>>595
>CGIの実行やCGIによるファイルの読み書きにつきましては、
>パーミッションの設定・変更なしに利用できる
これって、パーミッションが「何でも動く」んじゃなくて、
パーミッションをサーバーが自動で変えてくれる、って意味じゃない?
・・・私が前いたサーバーはそうだった。
だからパーミッションの問題じゃないと思う。
で、同じ問題にぶつかった事があるんだ。詳しい人に聞いたらこういう事だったよ。
:アップしたCGIが動かないのはCGIスクリプトに問題があるのではないか。
:サーバーで使ってはいけないってなってる命令語が含まれていないか。
:含まれていればUPしても使えない(こともあるかも)。
#ここでいう問題ってのは、「スクリプトがまちがっとる!」ということ
#じゃないぞ。そのサーバーで使うのに問題があるってこと。

たとえばセキュリティの問題で、カウンタに使われることのあるSSIは禁止
だとかさ。ファイルを作る命令語はダメだとかさ。
あなたのサーバーって、そういう制限を設けてるサーバーじゃないの?
もっとも・・・「制限がある」ってなっても、初心者だったらスクリプト見て
「これは制限されてるのがある・ない」ってわかんないと思うから、
ヘタの鉄砲数うちゃ当たるってなもんで、入れてみて動くものを使うようにす
ればよいと思う。
#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。
060957603/03/10 17:38ID:???
>>607
ほうほう・・・そういうところもあるんだね・・・。
絶対パスか。
0610nobodyさん03/03/10 17:53ID:???
>>605
それは「動作してる」よ。意図通りに動いてはいないけれどね。
次からは、1.サーバエラーが発生したのか、2.意図通りに動かないのか、
を明記するようにして欲しい。

>>609
>#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。
問題の切り分けがきちんとできており、最初から、問題は
サーバの仕様にあると限定できるのであれば、おっしゃる通りです。
でも今回の場合は(ry

■ このスレッドは過去ログ倉庫に格納されています