68user's page 掲示板

Prev< No. 251〜255> Next  [最新発言に戻る] [過去ログ一覧]
No. 251 # 68user 1999/04/01 (木) 20:52
> デバック目的だけの機能では無いだろうし、本来の目的は何だろう
「なぜその機能があるのか」と考えるのは、「C言語にはなぜ構造体があるのか」
というのと同じで、結局想像するしかないと思います。

でも、なぜ僕が wrapper.cgi?file=hoge.cgi(A) でなく wrapper.cgi/hoge.cgi(B)
という引数の取り方をしたのかは説明できます。

hoge.cgiが ?data=content などと、GET方式でデータを取得する
CGIだった場合、(A)より(B)の方が hoge.cgiに与える影響が少なく、
さらに wrapper.cgi 自体のコードも短くなるからです。

あと推測するに、ユーザにCGIであることを意識させない、という
のもあるでしょう。例えばcgiwrapは
    /cgi-bin/cgiwrap/~username/hoge.cgi
というURLでアクセスすることで、所有者権限でCGIを実行できます。
    /cgi-bin/cgiwrap?user=username&cgi=hoge.cgi
だったとしたら…思いつく限りではSave Asでファイルをセーブした際、
全てのCGIプログラムはcgiwrapというファイル名で保存されるでしょう。

ついでに言えばディレクトリのような階層構造を、素直な形で表現できます。
例えば http://www.freebsd.org/cgi/cvsweb.cgi など。

> そうするとPerlだと変数を結合するためのピリオドが、シェルの
> 場合頭にピリオドが付くと何を表すのか。
そういう場合にprint文で値を表示してみてほしいわけです。例えば
    > open(EXEC,"| .$ENV{PATH_INFO} 2>&1");
の前に
    print "PATH_INFO = $ENV{PATH_INFO}\n";
と書いたとすれば、$ENV{PATH_INFO} eq "/hoge.cgi"であることが
わかるでしょう。ならば、".$ENV{PATH_INFO}" eq "./hoge.cgi" と
なります(これに確信がもてなければ print ".$ENV{PATH_INFO}\n";
を挿入してください)。で、「./hoge.cgi」とは何かと言うと、カレント
ディレクトリにある hoge.cgi というスクリプトを実行しているだけですね。

No. 252 # M.Masuda 1999/04/01 (木) 23:53
なるほど、やっと理解できました。
68Userさんがわからないと言っていた事や、自分の勘違いが。

理解したと思っていた事が、全然理解できていなかったのですね。
やはり他の仕事の片手間のように勉強しているのと、基礎からしっか
り勉強している人にはかないませんネ。

ちょっとプログラミングに深入りしすぎたかも知れません、web上で
よく見かけるプログラム程度なら書けるかもしれませんが、システム
や応用した機能みたいな部分(少なくとも私から見ると)は、ちゃんと
勉強しないと難しすぎます。

最近、業界では有名(らしい)なプログラマー人とファイルロックの
事で話しをする機会がありましたが、私とは基礎概念が違いました。

もう少し、時間をかけて基礎的な部分から修行したいと思います。
wrapper.cgi、ありがとうございました。

No. 253 # Tetsu [E-mail] 1999/04/07 (水) 15:31
    UNIXは初心者です、ここで質問して良いかもわかりませんが、よろしければお教え下さい。
OSはだいぶ古いSONY製のNEWS−OSというのを使用しています。相当古いマシンなので、また
UNIXなのでちょっと恐くてさわれないのですが、基本的なコマンドは少し勉強しました。

  前置きが長くなってしまいましたが・・・ハードディスクの空き容量を調べたいと思うのですが、どの
ようなコマンドを使えば良いのかよくわかりませんでした。どうぞ、お教え下さい。そういうコマンドとか
は無いのでしょうか?

No. 254 # 68user 1999/04/07 (水) 17:58
NEWS-OSはよく知りませんが、df -kで
    Filesystem 1K-blocks Used Avail Capacity Mounted on
    /dev/sd0s1a 118959 25837 83606 24% /
などという表示が出るんじゃないでしょうか。これだと
118M中 25M(全体の24%)を使用中ってことです。

No. 255 # チャパ王 1999/04/09 (金) 19:20
はじめまして。他にはないCGIスクリプトばかりで大変助かっています。
それでですが、.htaccessで
<files browser.log>
deny from all
</files>
<files referer.log>
deny from all
</files>
    :
    :
というような設定がありますが、
<files *.log>
deny from all
</files>
<files *.dat>
deny from all
</files>
とやるだけで全ての***.log、***.datファイルが見れなくなります。
どうぞお試しくださいませ。(知ってたらごめんなさい。(汗))

Prev< No. 251〜255> Next  [最新発言に戻る] [過去ログ一覧]