CGIだけど、なんか質問ある? Part 9
■ このスレッドは過去ログ倉庫に格納されています
0001ななし ◆E6qQ.htN7o
03/01/03 02:56ID:H5ub4PWW※CGIは特定の言語に依存するものではありません。
※Perlのコーディングに関する質問は専用スレがありますのでそちらでお願いします。
↓
【Perl】初心者コーナー Part18
http://pc.2ch.net/test/read.cgi/php/1037797479/l50
過去ログ・関連スレッドは >>2-5 あたりに
0560nobodyさん
03/03/07 20:30ID:???目的にあったパーミッションを考えたら当然だと思うんだが。
0563nobodyさん
03/03/08 11:36ID:IsIbiOhHCGIの中に管理用パスワード置いてました
0566nobodyさん
03/03/08 13:13ID:???サーバ側がグループをどう扱っているかによるけど、
与えないほうが無難だな。
0567nobodyさん
03/03/08 13:14ID:???不必要なアクセス権を設定しちゃいけません。
間借りしてるなら規定されているはずだし、
自分で立ててるならちゃんと管理してねってことで。
0568nobodyさん
03/03/08 13:23ID:???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:???0576nobodyさん
03/03/09 19:30ID:zYZaV2tZダウンロードボタンを押すとそのままブラウザにそのファイルが表
示されてしまう。TXTであれHTMLであれCGIであれそうだ。
これって何がいけないのかな?原因わかる?
ほかのサーバーにおんなじCGIを置いてボタンを押すとちゃんとDL
ダイアログが出てDLできるんだが・・・。
0578nobodyさん
03/03/09 19:34ID:048q+sGA★その目で確認すべし!!★超おすすめ★
0579576
03/03/09 19:37ID:zYZaV2tZダウンローダーとかファイル管理CGIとか、そんなようなやつ。
------
| DL |
------
↑ボタンを押すと選んだファイルがDLされるっていう動作になるはずが
ならないんだよ・・・。
0582nobodyさん
03/03/09 20:37ID:???0586nobodyさん
03/03/09 20:46ID:???言いたいことが分かったような分からないような・・
まあちょっと違和感と言っているから全く筋違いというわけでもなさそうだな。
0587nobodyさん
03/03/10 00:12ID:p/bgqDIW0589nobodyさん
03/03/10 00:35ID:???0590587
03/03/10 00:47ID:???0592587
03/03/10 01:32ID:???バイナリで取得するって事ではない、んですよね?
0593nobodyさん
03/03/10 01:37ID:???検索の仕方も知らないのか?プログラム書くのはこれっきりやめろ。
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分で見つかったぞ。
0594587
03/03/10 01:51ID:???検索行ってきます。
ヒントありがとう。
0595nobodyさん
03/03/10 15:33ID:waQu7wS1相談にのっていただけませんか。
借りているサーバーがパーミッションの設定・変更はできないと書いてあり、
FTPソフトでいじることができませんでした。
CGIの実行やCGIによるファイルの読み書きにつきましては、
パーミッションの設定・変更なしに利用できると書いてあったので
実際CGIをアップしてみたのですがエラーになって表示されませんでした。
CGIが間違っているせいなのか、パーミッション変更不可のため動かないのか、悩んでいます。
0596nobodyさん
03/03/10 16:05ID:???0597nobodyさん
03/03/10 16:24ID:y6h+x0ia説明不足でよくわかりません。
どこのサーバーとか、
そのサーバーの設定等がWEB上で見れれば何とかなるんだが・・・。
(たまに説明をWEBでしてるところあるよね)
とマジレスしてみるテスト。
0598595
03/03/10 16:24ID:???そもそもCGIの設置は無理なのかもしれません。
念のため、使っているサーバーのCGIについてのページを貼ります。
やっぱ無理でしょうか?
↓
ttp://www.onamae.com/help/18-5.shtml
0599nobodyさん
03/03/10 16:28ID:???/*
プレミアサーバーの仕様は?
仕様は以下の通りとなっております。
・Microsoft Windows2000 Server
・Microsoft Internet Infomation Server(IIS)5.0
・Microsoft Exchange2000
なお、Perlはバージョン5.6.1を使用しております。
*/
よって、UNIX特有のパーミッションという概念はありません。
0601595
03/03/10 16:33ID:???パーミッションという概念がない場合、
どんなCGIも自動で機能するのでしょうか?
それとも、それ用のCGIを選択して使用するべきなのでしょうか?
先ほど試みたのはKENTWEBのeカウンタというものです。
(いちばん簡単そうに見えたので)
ttp://www.kent-web.com/count/ecount.html?
0602nobodyさん
03/03/10 16:34ID:M2RJhlYt★その目で確認すべし!!★超おすすめ★
0604nobodyさん
03/03/10 16:44ID:???先に >>598 と >>601 みたいな情報を出すようにしてくれ。
で、暇だったので試してみたけど、中身まったくいじらなくても置くだけで
http://(略)/ecount.cgi?check は動作したよ。
こちらは Apache + ActivePerl で IIS じゃないけど、まあ変わらんでしょ。
0605595
03/03/10 17:05ID:???今、中身をいじらずにアップしてみましたが
ログファイルのパスが不正です:./ecount.dat
ログファイルのパーミッションが不正です
と表示されてしまいました。やっぱり駄目みたいです。ああ。。。
ローカルで動かすにはソフトをダウンロードしなくてはならないようなので
また後で来させていただきます。
どうもありがとうございました。
0606576=579
03/03/10 17:13ID:AgGCKLX9>>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ならば、ttp://www.onamae.com/help/18-5.shtml
の「Perlでパスの指定がうまくゆかない。」の項目をよく見よ。
このサーバーの厄介なところじゃないかな。
0608576
03/03/10 17:33ID:AgGCKLX9>CGIの実行やCGIによるファイルの読み書きにつきましては、
>パーミッションの設定・変更なしに利用できる
これって、パーミッションが「何でも動く」んじゃなくて、
パーミッションをサーバーが自動で変えてくれる、って意味じゃない?
・・・私が前いたサーバーはそうだった。
だからパーミッションの問題じゃないと思う。
で、同じ問題にぶつかった事があるんだ。詳しい人に聞いたらこういう事だったよ。
:アップしたCGIが動かないのはCGIスクリプトに問題があるのではないか。
:サーバーで使ってはいけないってなってる命令語が含まれていないか。
:含まれていればUPしても使えない(こともあるかも)。
#ここでいう問題ってのは、「スクリプトがまちがっとる!」ということ
#じゃないぞ。そのサーバーで使うのに問題があるってこと。
たとえばセキュリティの問題で、カウンタに使われることのあるSSIは禁止
だとかさ。ファイルを作る命令語はダメだとかさ。
あなたのサーバーって、そういう制限を設けてるサーバーじゃないの?
もっとも・・・「制限がある」ってなっても、初心者だったらスクリプト見て
「これは制限されてるのがある・ない」ってわかんないと思うから、
ヘタの鉄砲数うちゃ当たるってなもんで、入れてみて動くものを使うようにす
ればよいと思う。
#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。
0610nobodyさん
03/03/10 17:53ID:???それは「動作してる」よ。意図通りに動いてはいないけれどね。
次からは、1.サーバエラーが発生したのか、2.意図通りに動かないのか、
を明記するようにして欲しい。
>>609
>#んで、ローカルでのテストは意味ないんじゃないかな。こういう時って。
問題の切り分けがきちんとできており、最初から、問題は
サーバの仕様にあると限定できるのであれば、おっしゃる通りです。
でも今回の場合は(ry
0613595
03/03/10 18:09ID:???どうもありがとうございました。
608さんのおっしゃるとおり、
サーバーはパーミッションを自動で変更してくれたようです。
それで607さんの絶対パスについてのところを参照にCGIのパスをいじったところ、
DATファイルが反応するようになり、
GIFファイルも直したら反応するようになり、
サーバー上でカウンタが動くようになりました。
610さん、申し訳ありません。
サーバーエラーなのか、意図どおりに動かないのかすら判断できなかったのです。
みなさん、ほんとうにありがとうございました。
0614606
03/03/10 18:27ID:AgGCKLX9telnetできないっす。
こりゃCGIの問題じゃなくって、サーバーの仕様とかかな?
・・・そういう仕様って、アリ?
0615608
03/03/10 18:30ID:AgGCKLX9治りましたか。よかったよかった(^^)
サーバーエラー>紛らわしいよね(笑)
0616606
03/03/10 18:32ID:AgGCKLX9言葉がたりんかった。
Telnetできないのは、Telnet開放されてないから(^^;
0618nobodyさん
03/03/10 18:49ID:???0620nobodyさん
03/03/10 20:53ID:???0622607
03/03/10 21:38ID:y6h+x0iaおめでとう。(カメレススマソ)
0625nobodyさん
03/03/10 23:22ID:F/vwue5xFTPから丸ごと削除しようとしました。そうしたら、/diff/, /info/, /wiki/
というディレクトリ及びその中身のファイルが、Permission Deniedと言われ、
削除できずに残りました。どのようにすれば削除できるのでしょう?
0626nobodyさん?
03/03/10 23:25ID:???ディレクトリに書き込み権限がないんじゃないの?
0627625
03/03/11 06:17ID:???cgiによって作られたファイルはcgiからでないと削除できないと分かり、
ファイルをunlinkして回るcgiを作って走らせたところ、無事消えました。
0629nobodyさん
03/03/11 16:29ID:mYfv1t4yどれだけ調べてもヒントすら見つからないので、
全く見当違いなことを考えてるんだと思い質問させていただきます。
ディレクトリを作るのはmkdirですよね。
ならファイルを生成するのはどうしたらいいんでしょうか?
たとえばtestというディレクトリを作り、
その中にtest.datというファイルを作る
なんてことはどうすればできるんでしょうか?
0630nobodyさん
03/03/11 16:35ID:???open(FILE,">>ふぁいる名");
print(FILE "でーた\n");
close(FILE);
0632nobodyさん
03/03/11 17:41ID:04f/wl45表現がありますよね。処理が軽いとか。
この「軽い」「重い」って・・・?
設定項目(=変数)が多いと重い?
サブルーチンが多いと重い?
それとも行数が多いと重い?
コメントが含まれていると重い?
どんなんでしょ?(ちなみにPerlCGIで。)
0634nobodyさん
03/03/11 18:06ID:???>設定項目(=変数)が多いと重い?
>サブルーチンが多いと重い?
>それとも行数が多いと重い?
>コメントが含まれていると重い?
すべてNO
厳密に測定すれば差は出るだろうけど
0637nobodyさん
03/03/11 19:56ID:???0638nobodyさん
03/03/11 20:03ID:???0641nobodyさん
03/03/12 10:34ID:???0642nobodyさん
03/03/12 19:04ID:???どうしたら良いの?
while使っても大差ないと思うんだけど。
0645nobodyさん
03/03/12 23:22ID:???もう春なんだなあ・・・
0648nobodyさん
03/03/13 00:15ID:???ということをやりたいのですが、可能ですか?
0649nobodyさん
03/03/13 00:16ID:???Perlならrequireで検索。
0650nobodyさん
03/03/13 00:55ID:???config.plに$test = test;を入れといて、
print.cgiにprint "$test";って入れて表示させる方法ってどうやるんですか?
よろしくお願いします(plの1;やcgiのヘッダーはできているとする)
0653648
03/03/13 08:31ID:9FkJfCBrごめんなさい
もう少し詳しく書きます
別のcgiは別のサーバにあります。
で、POSTでそのcgiに値を渡し
そのcgiが(ブラウザに)出力する結果を元に
処理を行う、それをいくつか繰り返す
以上の事をcgiで行うことは可能でしょうか
0654nobodyさん
03/03/13 08:59ID:???可能
ただし、これ以上の質問は使っている言語専用スレで
> cgiで行うことは可能でしょうか
cgi の部分を、PerlなりPHPなり自分が使っている言語に
置き換えて読み返してみれば、すぐ解ることでしょが
0655nobodyさん
03/03/13 09:09ID:Lbm4LPV1http://homepage3.nifty.com/digikei/
0656bloom
03/03/13 09:18ID:+b8Vztun0657632
03/03/13 15:56ID:rD3WUou4ちょっと質問悪かったかも。
重い・軽い・っていうのは、どういう作りによっておきるのか?
と、聞きたかったのです。
それで、設定項目が・・・なんてことを言ったのですが。
>>634
うーん、そっか。
んじゃあとりあえず、40KBとかあるスクリプトが必ずしも
重いとは限らないわけね。
■ このスレッドは過去ログ倉庫に格納されています