UNIXのWebサーバにCSVをアップロードしてあるのですがそのCSVファイルのアクセス権を644でブラウザからはダウンロードされない方法はありますか?644の場合『読み取り』が許可されてしまうので無理でしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

CGIからのアクセスはperlを例に取ると、




open(FILE,"/usr/ryouchi/data/hoge.txt");
#絶対パスでファイルを読み込み、

$i = 1;
while(<FILE>){
($no[$i] , $name[$i] , $age[$i]) = split(/\t/,$_);
#上記の例はTABセパレータの場合
$i++;
}
#各変数にいれて処理する。
って、かんじだと思います。

でも、こうやって表示しても、ファイルを保存されてしまいますけど・・・
データの場所はドキュメントルート以外でも、CGIで表示させれば、それは標準出力として吐き出されて、アクセスしたブラウザで表示されますので、表示が完了した段階で、htmlとして保存はされてしまいます。

パスワードか何かを知っている人にしか表示させないようにもCGIを作成することはできると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました(^^)
本当に助かりました。
無事CGIプログラムも完成しました。

お礼日時:2001/05/08 14:59

> 表示ではなく、ダウンロードしたいのですね?


> ならば、右クリックして[対象をファイルに保存]
> をやってみてはどうでしょうか?

ダウンロードしたいではなくて、ダウンロードさせたくないんですよね。
だとすると、考えられる方法は、Webサーバ内のドキュメントルート以外の場所にCSVファイルを置くという方法でしょうか?
これなら、
http://www.hoge.co.jp/~username/
以下の場所をつついてダウンロードされることはないかと思います。
どうでしょう?

ということで、WebサーバにCGIなどでアップロードされたCSVファイルを見ることをできなくするには、アップロード時に保存するディレクトリをドキュメントルート以外の場所にしてしまえばよいかと思います。

もっと具体的にお話しがわかれば回答も求めているものに近くなるかと思います。

この回答への補足

そうですその通りです!そうなると
つまり現在の『/html』より上のディレクトリにおけば良いって事ですよね
そうすれば一応ドキュメントルート以外の場所ですから。
でも、たとえば『/』上にフォルダを生成した場合CGIからのアクセスは
どのようなアドレスでアクセスすればよろしいのでしょうか?

補足日時:2001/05/08 11:29
    • good
    • 0

表示ではなく、ダウンロードしたいのですね?


ならば、右クリックして[対象をファイルに保存]をやってみてはどうでしょうか?

この回答への補足

すみません。ダウンロードしたいのではなく
右クリックして[対象をファイルに保存]をされたくないのです。

補足日時:2001/05/08 11:37
    • good
    • 0

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


人気Q&Aランキング

おすすめ情報