• ベストアンサー

CSVファイルのダウンロード

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

質問者が選んだベストアンサー

  • ベストアンサー
  • ryouchi
  • ベストアンサー率41% (52/125)
回答No.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を作成することはできると思います。

kicyune
質問者

お礼

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

その他の回答 (2)

  • ryouchi
  • ベストアンサー率41% (52/125)
回答No.2

> 表示ではなく、ダウンロードしたいのですね? > ならば、右クリックして[対象をファイルに保存] > をやってみてはどうでしょうか? ダウンロードしたいではなくて、ダウンロードさせたくないんですよね。 だとすると、考えられる方法は、Webサーバ内のドキュメントルート以外の場所にCSVファイルを置くという方法でしょうか? これなら、 http://www.hoge.co.jp/~username/~ 以下の場所をつついてダウンロードされることはないかと思います。 どうでしょう? ということで、WebサーバにCGIなどでアップロードされたCSVファイルを見ることをできなくするには、アップロード時に保存するディレクトリをドキュメントルート以外の場所にしてしまえばよいかと思います。 もっと具体的にお話しがわかれば回答も求めているものに近くなるかと思います。

kicyune
質問者

補足

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

  • nuwaa
  • ベストアンサー率31% (6/19)
回答No.1

表示ではなく、ダウンロードしたいのですね? ならば、右クリックして[対象をファイルに保存]をやってみてはどうでしょうか?

kicyune
質問者

補足

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

関連するQ&A