アプリ版:「スタンプのみでお礼する」機能のリリースについて

↓こんな感じでフォルダ表示させるCGIを配布してるところはないでしょうか
http://skyline.skr.jp/sozai/set/?N=D

注:表示させるのは自分が使ってるプロバイダ上での話しです
  セキュリティ上好ましくないの承知してます
  使ってるプロバイダはインフォシークです

A 回答 (4件)

たびたび、すみません


>755 になっているか確認してください

通常のotherでCGIが動く場合は705で良いのですが
グループ権限で動く場合が稀にあるようで、その場合は 755にする必要があります
Suexecの場合はユーザー権限でCGIが動きますので701でディレクトリ内の一覧が取得できます
    • good
    • 0
この回答へのお礼

回答どうもです
フォルダ、ファイル属性は共に755にして
実行すると以下のものが表示されました。
sh: ls: not found

やはり、他の方法を探すしかないようです

お礼日時:2006/06/19 10:05

ではヘッダ出力の下に1行追加して



print"Content-type: text/html; charset=Shift_JIS\n\n";
open(STDERR, ">&STDOUT"); # <=この行を追加
print"<html>\n";

としてからアクセスしてみてください
-----------
pwd: cannot open directory `..': Permission denied
[Index Of ]
ls: *.htm*: No such file or directory ls: *.shtm*: No such file or directory ls: *.txt: No such file or directory
-----------
となりませんか? もしそうならディレクトリのパーミッションが
755 になっているか確認してください

ディレクトリのパーミッションが701だとおっしゃるようなことになります(Suexecなら701で全然OKだが)
また、この場合は外部コマンドではなくperlのみでディレクトリ内のfile一覧を得ようとしても出来ません

また pwd の方は その上位のディレクトリも755にする必要がありますが
そちらの方は環境変数
$ENV{'REQUEST_URI'}
$ENV{'SCRIPT_FILENAME'}
$ENV{'SCRIPT_NAME'}
などからも取得できますのでね
    • good
    • 0

#! /usr/bin/perl


print"Content-type: text/html; charset=Shift_JIS\n\n";
print"<html>\n";
print"<body>\n";
$pwd= `pwd`;
$pwd =~m|[^/]*$|;
print"<h1> [Index Of $& ] </h1>\n";
## .htm .html .shtml .txt のみを表示する場合
foreach(split("\n",`ls -l *.htm* *.shtm* *.txt`)){
split(/\s+/,$_);
print "$_[4] $_[5] $_[6] $_[7] $_[8] <BR>\n";# この書式はお好みで変える
}
__END__

スマートな書き方じゃないけど、、取り敢えず
    • good
    • 0
この回答へのお礼

ありがとうございます。
1行目だけ書き直して実行しましたが
どうやらインフォシークではperlからのコマンド呼び出しが実行できないみたいでpwdとlsが効きませんで
表示されたのは[Index Of ]だけでした。

リスティング機能があるのにわざわざCGIでやる人も
居ないのかもしれませんね。

お礼日時:2006/06/18 22:24

これはcgiではなく、apache(とかNCSA htttpdとか)がもともと持っている機能です。


.htaccessなどに
Options Indexes
と書いきます。この状態で、 / で終わるURLが指定されるとファイルリスティングが返されます。

インフォシークのWWWサーバでこの機能が使えないのなら、同等なことをcgiで行わないといけなくなりますが。。。
    • good
    • 0
この回答へのお礼

早々にありがとうございます。
インフォシークではデフォルトでファイルリスティングできないようになってます。

なのでcgiで行いたいと思いまして探したのですが
画像をサムネイルで表示とかならあるのですが
単純な一覧というのがありませんでした。

お礼日時:2006/06/18 14:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!