exec cgi=AAA.cgi と exec cmd=AAA.cgi の違いがのみこめません...
[上に]
[前に]
[次に]
kobayashi
[E-Mail]
2000/06/02(金) 15:04:48
CGI/SSIの本を読んでも、どうしても、
<!--#exec cmd="ファイル名">と
<!--#exec cgi="ファイル名">
の違いがわからなかったので、こちらで過去ログを調べてみました。
そうしたら、パスの書き方の違いが詳しく書かれているログ
があり(すみません、どのログだったか...)、その内容
から、引数cmdとcgiの違いというのは、単にパスの指定
の仕方だけかなと結論付けてしまいましたが、それで合って
いるのでしょうか?(include の fileと virtual のように)
cgiプログラムは引数をcgiにしておかないと読み込めないと
思っていたのですが、そうではないみたいですね?
なんだか、頭の中がわかったような、わからないような
あいまいな感じなので、すっきり説明していただけると
うれしいのです。お願いします。
悪魔のZ
2000/06/02(金) 15:31:46
良くわかんないけど多分これ?
../200003/00030004.htm
ねね
2000/06/02(金) 15:35:05
中身も違いますよ。cgiの場合は
print "Content-Type:text/html; charset=〜\n\n";
などが必要です。
kobayashi
[E-Mail]
2000/06/02(金) 21:40:34
悪魔のZさん、そのページ、私が見たところです!
ねねさん、どうもありがとう。
Content-Typeの宣言の部分は、本に載っていました。
cgiを引数にとったファイルにはこれが必要だって書いてありました。
それで、うまく説明できないんですが、
<!--#exec cmd="ファイル名">と
<!--#exec cgi="ファイル名">
をどうやって使い分けするのかわからないんです。
本で、シンプルなカウンタを作ろうというページがあり、
それは<!--#exec cmd="ファイル名">を使ってありました。
ところが、ここに来てみて<!--#exec cgi="ファイル名">でも
OKなことがわかり、それで作ってみたらそれでもできました。
違うところといったら、ねねさんのおっしゃる中身(Content-Type)
とパスの指定だけで、他は同じプログラムでできてしまい、
そうしたら普通はどっちを使ったらいいのかさっぱり
わからなくなってしまったんです。
何かこっちじゃないとこんなときはダメとかあるのでしょうか。
それとも、CGIプログラムをSSI経由で呼び出すときは
どっちでもいいということなのでしょうか。
ねね
2000/06/02(金) 23:10:11
あと、プログラム内部で他のファイルを参照するときに、
cgi="〜"だと、そのCGIを基点としたパスで書き
cmd="〜"だと、呼び元HTMLを基点としたパスで書く、
という違いがあります。
つまり、隠しカウンタのようにいろいろな階層から呼ばれる
プログラムの場合、CGI形式で書いた方が便利です。
逆に、CGIの不利な点として、URLでどこからでも参照できてしまいますから、
セキュリティホールになる可能性が若干高いと言えます。
あとは趣味の問題です。
kobayashi
[E-Mail]
2000/06/03(土) 13:04:51
[[解決]]
ねねさん、ありがとうございます。
ねねさんの2つの説明は、まだ私にとっては少し難しかったです。
(隠しカウンタとか、セキュリティホールになる可能性のくだり。
ごめんなさい。きっと、近い将来、意味がはっきりわかるはず!)
でも、「あとは趣味の問題です」というひとことで、私の中で
わからなかったことがすっきりしました!(私の中でわからな
かったというのはもっと単純なことで、これは使っちゃダメと
いうものであるか、ないかという点だったので...)
一応どっちでもできることはできるということがわかったので
今勉強中の本の次のページにいけそうです。本当にありがとうございました。
[上に]
[前に]
[次に]