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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/09/22 23:15ID:???
CGIの運用に関する質問スレッドです。

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

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

過去ログ・関連スレッドは >>2
029629402/10/12 22:22ID:???
誰かがつくったものか・・・
じゃあミスっているわけないな。
029727502/10/12 22:29ID:3wVM2eMF
>>296
やはりTripodの制限にひっかかってるのでしょうか…?
0298nobodyさん02/10/13 00:32ID:???
>>297
多分サーバーのほうで、アップローダ系は設置できないように
してあるんだと思います。

自分も以前、ずるぼんとかJoyfulNoteとか試したけどダメでした。
0299nobodyさん02/10/13 01:43ID:???
よくFLASHである、Now Loadingみたいなので
何%ダウンロードしました というメッセージがリアルタイムで表示されますよね。
あれの仕組みはちょっと知らないんですが、それと同じようなことをCGIでやる事可能ですか?
なんかJAVAとかじゃないと出来ないんでしょうか。
0300nobodyさん02/10/13 08:05ID:???
>>298
とすると、x-www-form-urlencoded以外は禁止なのかな。
0301nobodyさん02/10/13 10:06ID:???
>>299
マルチならマルチですと言ってからかけ
0302nobodyさん02/10/13 18:49ID:???
セリオです。
0303nobodyさん02/10/13 23:02ID:sWhCrFb+
socketでアクセスするファイルのサイズを
知るにはどうしたらよいのでしょう?
普通にstatしてもだめっぽいんですが。
0304nobodyさん02/10/13 23:07ID:???
>>303
socketでファイルにアクセスする?
030530302/10/13 23:12ID:sWhCrFb+
取得するHTMLのバイト数を前もって知りたいだけでつ。
0306nobodyさん02/10/13 23:50ID:???
>>305
HEAD じゃダメなのか?
030730302/10/13 23:57ID:sWhCrFb+
な、なんですか?HEADって??
0308nobodyさん02/10/14 00:21ID:???
>>307
ttp://www.hi-ho.ne.jp/takamoto-gcu/java/exp/httpdoc.html
030930302/10/14 00:34ID:???
>>308
なるほどー。ありがとう。
0310nobodyさん02/10/14 00:58ID:???
変数名に日本語ローマ字を使うのは普通ですか?
031130302/10/14 00:59ID:???
はぅぅ!! HEADメソッドを実験してみた結果、
相手がcgiだとContent-Length を返してくれないっぽいでつ!
まーそりゃそーかという気もしますが‥‥
なんとかしてcgi相手でもサイズの取得できませんかねー?

最悪、読み込んだ後にバイト数を確認できればいいか
という気分になってきてます。
↑でもこれも計算の仕方がわからなかったりして‥‥。
read ( R, $Html, ( -s "$SrcFileName" ) );
として読み込んだとき、$Htmlの大きさを知るには?
031230302/10/14 10:37ID:???
ちなみに
( -s "$SrcFileName" ) は0だった。←なぜこれでreadが動くのか?
readの戻り値も0だった。
読み込みバイト数を確認する手段なし。
0313nobodyさん02/10/14 12:32ID:iqUjhfG6
sendmailやblat等のメールプログラムはプロバイダ側が設置するものなのでしょうか?
0314今日入門。02/10/14 14:34ID:nFNyLUz3
はじめまして。CGI初心者というか今日入門なのですが
ttp://www.kent-web.com/bbs/joyful.html?
これを
ttp://tok2.com/
で借りた場所にアップしたいのですが
書いてあるとおりにやっても上手く出来ませんでした。
もう少し頑張ってみるつもりですが
初心者にやりがちな間違い等有ればおしえていただけませんでしょうか?
本当におねがいします。
0315nobodyさん02/10/14 15:55ID:???
>>314
何でアップしたんだ。FTPソフトの名前。
どううまく行かなかったんだ。サーバにファイルが転送されない?
「書いてあるとおり」なんて、聞いてる相手にいちいち調べさせんな。

0316今日入門。02/10/14 16:14ID:nFNyLUz3
>>315
申し訳有りません。
ソフトはマカーなのでFetchです。
全部あげる事はできたのですが
■■■ 500 Internal Server Error ■■■
が出てしまいます。パーミッションは
ttp://www.kent-web.com/bbs/joyful.html?
の通りに設定したのですが・・・
0317nobodyさん02/10/14 16:27ID:???
>>314じゃアップできないって書いてあるけど?
アップできたけどそのCGIが動いてないんじゃん。
500ってのはそういうこと。400エラーはファイルがない。
で、また、調べさせようとしてるな。やだよ。
パーミッションはOK,ディレクトリもOKってことね。
それなら、perlの置き場所が違ってる可能性高いね。
1行目の#!/usr/bin/perlとかってとこ、サーバの
perlの場所にあわせた?
合わせてたら、今度はスクリプト自体がエラー出さないか、
自分のPCで実行してみることだ。
0318今日入門。02/10/14 16:44ID:nFNyLUz3
>>317
あぁ〜。また調べさせるようなことを書いてしまいました。
スイマセン!!
えと、多分、パーミッションというのも設定しましたし、
ディレクトリもつくりました。
perlというのもトクトクというレンタルサーバーで
書いてあったものを使ったので大丈夫だと思います。

>自分のPCで実行してみることだ。
とありますが、コレを確認するのはどうすればいいのでしょうか?
ホントになにからなにまでスイマセン。
0319nobodyさん02/10/14 17:15ID:/8eacoxJ
>>318
perlとapacheを自分のPCにインストールする。;
apacheのhttp.confを変更する(ここらへんは本見るかググル);
c:/apache/apache/htdocs/xxx.cgiにcgiを置く;
apacheを起動する。;
ブラウザにhttp://127.0.0.1/xxx.cgiと入力する。;
いろいろテストしてみる。;
これでOKかな?(自信ないけど・・・・);
本買うのが一番早いような気がするが・・;
0320nobodyさん02/10/14 17:27ID:???
レベルが下がりつつあります。
嘆かわしいことです。
0321nobodyさん02/10/14 17:51ID:???
>>318
>>319さんが書いてくれた様にするのが一番いいけど、
マカーならアイコンダブルクリックでCGIファイルを(.plにしとく?)
実行するだけでいいよ。エラーが出なければ、大丈夫ってこと。
(大体ね。)
0322nobodyさん02/10/14 23:33ID:???
オレがちょっと前に質問した時は厨呼ばわりされて誰も答えてくれなかった
くせに、今回はずいぶんと優しいな
少なくともオレの方が腰は低かったぞ
まあ自己解決したからいいけど
0323nobodyさん02/10/14 23:45ID:???
>>322
このスレ見てる人によりけり
0324nobodyさん02/10/15 00:29ID:???
>>322
丁寧に答えてたヤシですが、今日は、機嫌がよかったので、書きコが
進んじゃいました。この前は、「こんなCGI探してます」スレで、
javascript書いてあげちゃったりして、「優しいね」って言われました。
それで、約半月あそこで質問のある度にググッて要望に沿いそうなCGI
探してあげてました。もう、あのスレ見てません。このスレは、明日
あたりから見なくなると思います。ごめんなさい、さようなら。
0325nobodyさん02/10/16 16:26ID:suS2LYMZ
聞きたいんだけどいいかな?すれ違いだったらごめんね。

Apacheをnobody権限で動かしているけどWeb上からサーバーの
システム時間変更したり出来ないのかな?
皆さんどのような方法使ってますか?

僕がやってみた事は以下ですが、全部失敗しました。
・SSIで cmd="/bin/date -s 'hogehoge'" を投げてみた
・php のexecコマンドで date -s コマンド投げてみた
・上の2つを sudo インストールしてnobody 権限許可して
同じようにコマンド投げてみた

どれも失敗。皆さんどうやってるの?それとも日時をWebで変更する事
自体がタブーなの?
0326nobodyさん02/10/16 16:52ID:???
質問の答えは分からんのだけど、なんでWebからシステム時間の変更しないといけないの?
0327nobodyさん02/10/16 17:02ID:???
root権限のapacheを別個に立ち上げとく
0328nobodyさん02/10/16 17:15ID:suS2LYMZ
>>326
>なんでWebからシステム時間の変更しないといけないの?
コマンドから出来るものはおおよそWeb上からやりたいと
思わないかい?
可能ならfdformatとか、e2fsckまでWeb上から操作したいと思うよ。
WebminとかHDEと同じになってくるだろうけど。
実際には客のニーズとしてWebしか触れないのでtelnetでコマンド打ち込む
なんて出来ないってのが当面の問題です。

>>327
User root
Group root
に設定したらApache起動できないよ。
しかも、Apache起動してたら2つめ起動なんて出来ないとおもったけど、
どうよ?
0329nobodyさん02/10/16 17:18ID:???
危ないな。
0330nobodyさん02/10/16 17:19ID:???
客がシステム時間変更するの?怖ッ。

> しかも、Apache起動してたら2つめ起動なんて出来ないとおもったけど
出来る。
0331nobodyさん02/10/16 17:27ID:suS2LYMZ
>>330
言いたい事は解る。
でも、時間修正くらいでいちいち客先いってられるかヨ。

2個めのApache起動普通には出来ないよね?
apachectl start したら already running って叱られるけど。
0332nobodyさん02/10/16 17:46ID:???
> 2個めのApache起動普通には出来ないよね?
apacheを2つ起動する方法も知らないヤシが人の鯖管理してるのか ガクガク(((;゚Д゚)))ブルブル

つーか, そんなに面倒っちぃと思うなら xntpdでも入れてcronで自動で時間修正するようにするべきだと思うが。
0333nobodyさん02/10/16 17:51ID:suS2LYMZ
>>332
ntpって、そりゃインターネットに繋がってるのが前提だな。
ネットには繋がってないのでそれは無理。

#ntpは誰でも一番最初に思い付く罠
0334名無しさん@Meadow02/10/16 18:47ID:???
突然、小学生乱入。
ネットにつながってない鯖にwebで入るとはこれ如何に。
0335nobodyさん02/10/16 18:55ID:???
完全に外と切り離された一台もインターネットに繋がってないLAN内の鯖に
そのLAN内のWin機からHTTPでアクセスするって事だろ。

完全に切り離されてるならApacheをrootで動かすなり自前で時計合わせ専用に
デーモン作るなりすれば?
0336nobodyさん02/10/16 18:57ID:???
ああ、win機とは決まってないか,スマソ。
まぁtelnetがイヤって事はWinかマクだろうけど。
0337nobodyさん02/10/16 19:05ID:???
PerlのCGIでならNet::TelnetやNet::SSH使う手もあるか。
0338nobodyさん02/10/16 19:07ID:???
LAN内にNTP鯖立てて、他のマシンがそこに時間を見にくるようにするとか。
したら、メンテするのは一台だけっしょ。
// なんか異常がない限り。
0339nobodyさん02/10/16 20:55ID:???
Net::Telnetでsuできる?
rootでTelnetログインできるようにしといて
Net::Telnet使うのが簡単
0340nobodyさん02/10/16 21:51ID:SGIhA+qD
皆さんありがとうございまつた。
Net::Telnetってはじめて聞きまつた。
この手法はなんといいまつか?
0341nobodyさん02/10/16 21:55ID:???
ググれ。
0342ls-l02/10/17 00:51ID:9AbsxqL1
PNG画像ファイル作成ソフト組んでるんだけど、ファイル圧縮のためにZlibとlibpngを使う
ことまでわかったので、ゲットしたんだけど、インストールがわからない。。。
誰か教えてYO。環境はMacOS 10.2 + Apache1.3 + perl5.6。要はMacOSの標準
構成デス。。
0343nobodyさん02/10/17 01:08ID:???
>>342
まず、Linuxをインストールしてください。
全てはそれからです。
0344nobodyさん02/10/17 01:53ID:???
教えてつかぁさい
FORMタグで送信したいデータがあります。 **.html と **.cgi
に分かれてまふ。 それで**.htmlはpostで大体かけたんですが、
**.cgiのformのデータが全然取れませんです。 使ってる鯖の
versionは、パールの 5.00503 でございます
0345nobodyさん02/10/17 02:18ID:???
>>344
htmlからCGIを呼び出してるってこと?
0346nobodyさん02/10/17 02:44ID:???
>>345
そうです。 クエリーストリングもエコーしてみたけど、
なんいもナッシングでした。 一応エンコする記述とか
書くと何も表示されなくなっちゃいます。 ローカル環境
は今準備出来ないので、ウェブオンリーのデバグとなって
おり這々の体で作業をしております。
0347>>34402/10/17 02:54ID:???
CGIで直に呼び出して、そこからHTML生成させて
フォームのデータとしてparamなり呼び出せばいいと
思うんだけど、このHTMLとの繋がりが・・・。
今の所、post get 両方ダメチンです。 
一応ENVはしっかり返ってきてます。
0348nobodyさん02/10/17 02:58ID:???
POST送信は標準入力から読み込みませう。
0349>>34402/10/17 03:16ID:???
TEXTAREA使って、コンソール入力させてます。
(標準入力ってこれで合ってるのかな)
うーん、cgi内、どうやって書いたらいいのかなぁ
多分その鯖ってアパチもパールも古くさいので、
海外のいいとこか、もうちょっと環境良いところ
(splitなんか使わなくてもヨサゲなとこ)にでもした
ほうがいいのかなぁと思っておりまする。
0350>>34402/10/17 03:24ID:???
意味が分かりマスタ
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
こんな感じでふね。 もう眠くて日本語変すぎてすみません
ちょとやてみまふ
0351>>344 完02/10/17 08:40ID:???
cgi-lib.pl をただ単に置いてやれば行けマスタ
だうもありがとうございますた。 
0352nobodyさん02/10/18 02:42ID:PW8/fPKv
アクセス解析のCGIを使いたいんですけど
フレームページに設置する時って、フレームに対応させる
設定をすると聞きました。
インラインフレームでも、設定は必要ですか?
アドバイスお願いします。
0353nobodyさん02/10/18 09:41ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
0354nobodyさん02/10/18 12:21ID:???
>>353
魔女板がそういう仕様だったみたいだな
0355nobodyさん02/10/18 21:39ID:b7NtTXSN
ググってみても、ヒットしないので、
お知恵を拝借でつ。

この板のアクセス規制関連スレを参考にして、
うちのサイトではjpドメイン規制をしているのですが、
(CGI自体は問題無く作動してます)
ヤホーBB経由だと、ホスト名に
jp/JPが返って来ていないという報告がありました。

なので、フレッツとかのブロードバンド経由だと
どういうホスト名が返って来るのかが知りたいのですが、
どんな方法がありますでしょうか。


0356nobodyさん02/10/18 22:16ID:???
チョソとシナだけ弾きなさい。
0357nobodyさん02/10/18 23:15ID:???
>>354
懐かしいな
0358nobodyさん02/10/18 23:48ID:???
>>355
アクセス解析してみたら?
035935502/10/19 09:28ID:GPqsQtn9
>> 356
>> 358

へい、わかりまいた。THANX!

0360nobodyさん02/10/19 10:56ID:???
http://hogehoge.virtualave.net/test/read.cgi?bbs=php&key=1234567890
↓
http://hogehoge.virtualave.net/test/read.cgi/php/1234567890

こういう風にするのはどうやればいいのですか?


036136002/10/19 10:57ID:???
360は自分で設置したおんぷちゃんねるスクリプトとか17氏スクリプトとかの話です。
0362nobodyさん02/10/19 13:40ID:???
CGI-MLにも同じ質問この後来てたね。
同一人物?
0363nobodyさん02/10/19 13:46ID:???
はい。MLのほうでもいいので教えてください。
0364nobodyさん02/10/19 15:12ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
0365s02/10/19 15:13ID:vOOQmkFS
http://yahooo.s2.x-beat.com/
0366nobodyさん02/10/19 15:16ID:???
>>364
クーロン使える環境?
0367nobodyさん02/10/19 15:59ID:???
>>353 = >>364
0368 ◆hMJAPH9PWA 02/10/19 22:59ID:pkf2Digs
age
0369初訪問02/10/20 14:03ID:rY09Sh4G
猿でもわかるcgiの使い方を教えてください
0370nobodyさん02/10/20 14:08ID:???
>>369
猿に聞いてください。
0371nobodyさん02/10/20 14:24ID:???
>>370
猿が分かんないのに猿に聞いちゃダメでしょ。

>>369
チンパンジーに聞いてください。
0372nobodyさん02/10/20 14:38ID:???
↑
読解力無いヒト
0373! ! !02/10/20 14:50ID:???
ついでに勉強しようと思っているので教えて下さい。

私は自分で作ったHPのトップから入ってきて貰いたいので
直接入力からやブックマークからのアクセスを防ぎたいです。
CGIであるディレクトリーのアクセス制限は可能なんですか?
0374・・・で02/10/20 14:59ID:???
何か参考になるHP、ご存知なら教えて下さい。
宜しくお願いします。
0375nobodyさん02/10/20 15:33ID:cAtNmd1m
>>373
.htaccess
0376nobodyさん02/10/20 15:34ID:???
>>373
ふつーはねー、CGIのHTTP_REFERRERっていう環境変数を取得して、
そいつが自分のHPのトップだった場合だけ、飛ぶようにしてねー、
それ以外だったら、HPトップのページに飛ぶようにしる。
でもねー、ブラウザによってHTTP_REFERRERを送出しないのも
あるからねー、完全に、やりたいことを実現するのはむずいん
じゃないか?
0377373、37402/10/20 15:43ID:???
>376さん

という事は可能なブラウザは制限されるけど
決してできなくもないという事なんですか?

色んなHPを暫く回ってきて、ここに戻ってきて
クッキーを使ってだったらできないのかなと今思ったんですよ。
どうですかねェ? やっぱダメですか?
0378nobodyさん02/10/20 15:50ID:???
>>377
376のやり方だとHTTP_REFERRERを出さないブラウザじゃどのページも見れなくなる。
クッキー使うやり方だとクッキーを出さないブラウザじゃどのページも見れなくなる。
それでも良いなら御勝手に。
0379nobodyさん02/10/20 15:55ID:???
>>378
376だけど、そいうことはないっしょ。
HTTP_REFERRERが空だったら、HPトップのコピー、またはHPトップへの
リンクを張ったページを出力する。さもなきゃ、そのHPトップからしか
見せないページを出力する。でもさ、これって、アクセスの度にhtmlヘッ
ダーつきで出力するから、頻繁にアクセスされるページには向かないな。
0380nobodyさん02/10/20 16:06ID:???
>>379
リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
の繰り返しになるだろ。

TOPに飛ばさないならリファ関係無しに全てのページにTOPへの
リンクでも貼っておけば済む話だと思うが。
0381nobodyさん02/10/20 16:43ID:???
>>380
>リファが空>TOPに飛ぶ>どっかに移動しようとする>リファが空>TOPへ
>の繰り返しになるだろ。
TOPからは「どっか」へは飛べるんだよ。373はそうしてほしいって言ってるわけ。
「どっか」を直接アドレスバーに入れてアクセスしたり、ブックマーク
して、アクセスされたくないってわけ。(意図はみえみえだけどね。TOPに
収入になる宣伝ページ貼ってあんでしょ。)
だーから、この「どっか」のページをCGIで書いておいて、リファをチェック
するわけ。
0382nobodyさん02/10/20 17:27ID:???
>TOPからは「どっか」へは飛べるんだよ。
その判断をリファでするって話だろ?
だからリファ吐かないブラウザはどうすんのかって話ししてんだけど。
TOPから来たかどうかをリファでチェックしてる限り
リファ出さないブラウザの場合はどこからどう行こうが
直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
0383373、374、37702/10/20 17:46ID:???
>378さん
>クッキーを出さないブラウザじゃどのページも見れなくなる。
クッキーを履くように設定できないブラウザもあるということですか?

>379さん
>アクセスの度にhtmlヘッダーつきで出力するから、頻繁にアクセスされるページには向かないな。
そんなにアクセスされるところではないので構わないのですが、htmlヘッダー着きで出力とは?

>380さん
>全てのページにTOPへのリンクでも貼っておけば済む話だと思うが。
確かに仰せの通りかもしれませんが、せっかく初めて作ったもんだから、やっぱり・・・ネ。

>381さん
>(意図はみえみえだけどね。TOPに収入になる宣伝ページ貼ってあんでしょ。)
まさか。 ただ、いい事教わりました。こんどどっか別のところでそれについて教えて下さい。

>382さん
>直リンやブックマークと同じ扱いになるだろ。リファ出さないんだから。
それでも何かいい方法はないでしょうか?一応、それでクッキーという考えを持ったんですけど・・・
0384nobodyさん02/10/20 18:17ID:???
>383
それはページだけでいいの?
html以外、例えば画像ファイルの直接参照はクッキーじゃ防げなさそうだけど?
蛇足だが、クッキーやHTTP_REFERERはファイアーウォールソフトでも送出をブロックされてしまう。

やり方はいろいろ有るが欠点のない方法はないよ。
どの程度の厳密さが欲しいか言ってみ?

もっとも、漏れ的には気にしない方が幸せだと思うけどね。
画像直リンとかはともかく、途中のページにでも来てくれるならそれでいいじゃんか。
0385nobodyさん02/10/20 18:35ID:RVEI8NIX
DSFBOARDに昇進機能を付ける方法を教えれ!
これ→http://rpg-center.net/bbs/dsfbbs/yybbs.cgi

http://cuo.press.ne.jp/cgi/b07_1.html
この方法は通用しませんでした。
0386nobodyさん02/10/20 18:37ID:???
>>385
特定のスクリプトの改造なら改造工房スレ逝け。
0387nobodyさん02/10/20 19:05ID:???
毎日定刻になるとフォルダ名がランダムに変更されるようなスクリプトないですか?
0388nobodyさん02/10/20 19:19ID:???
>>387
しつこいの(・A・)イクナイ!!
0389nobodyさん02/10/20 19:21ID:81/wEKr7
ここの人間って調子こいてるね
まともに教えないのならこういうスレ立てるなっつーの
0390nobodyさん02/10/20 19:28ID:???
>387
だから、スクリプトは簡単なんだが、その時刻にスクリプトが動いてないとダメだろ?
cron使える環境じゃないとまず無理だよ?
0391nobodyさん02/10/20 19:51ID:???
>>390
クーロン使えるらしいからスクリプトキボン
0392nobodyさん02/10/20 20:11ID:???
微妙にスレ違いだけどな。

cron設定できるくらいの人間なら自分で書けそうなもんだが、
そんなレベルではスクリプト言語指定した方がよくないかな?
使えん処理系だったらどうするの?
0393373、374、377、38302/10/20 21:07ID:z9FOCLAs
>384さん
JPGファイルとGIFファイルは多少ある程度で画像は大してないです。
殆どがHTMLファイルですね。だから、可能ならできるだけ厳密な物が
好いのは言うまでもありませんが、多少は仕方がないのかなと思い始めています。
0394nobodyさん02/10/21 01:55ID:???
>>382
何か分からん人やな。こいうこと言ってるんだけど。
#!/usr/bin/perl
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html") {
print "Content-type: text/html\n\n";
print <<EOF;
...(ここがTOPからのみアクセスさせたいページの内容)
...(〃)
EOF
} else {
print "Content-type: text/html\n\n";
print "<html><META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Shift_Jis'><body>以下のTOPページから入ってください。<a href=\"http://www.hoge.net/hoge.html\"></a></body></html>\n";
}
0395nobodyさん02/10/21 09:14ID:rhS7DxCr
>>394
382じゃないけどさ、REFERER返さないブラウザでアクセスすると
if ($ENV{'HTTP_REFERER'} eq "http://www.hoge.net/hoge.html")
このifの条件は絶対に真にならないよ。
hoge.htmlのリンクから来たとしてもHTTP_REFERERは空だもん。
0396nobodyさん02/10/21 12:06ID:kvV//eq/
┌──┐
↑ネタ ↓
└──┘
スレに優しい
ネタリサイクル
■ このスレッドは過去ログ倉庫に格納されています