- ベストアンサー
CSVファイルのダウンロード
UNIXのWebサーバにCSVをアップロードしてあるのですがそのCSVファイルのアクセス権を644でブラウザからはダウンロードされない方法はありますか?644の場合『読み取り』が許可されてしまうので無理でしょうか?
- みんなの回答 (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を作成することはできると思います。
その他の回答 (2)
- ryouchi
- ベストアンサー率41% (52/125)
> 表示ではなく、ダウンロードしたいのですね? > ならば、右クリックして[対象をファイルに保存] > をやってみてはどうでしょうか? ダウンロードしたいではなくて、ダウンロードさせたくないんですよね。 だとすると、考えられる方法は、Webサーバ内のドキュメントルート以外の場所にCSVファイルを置くという方法でしょうか? これなら、 http://www.hoge.co.jp/~username/~ 以下の場所をつついてダウンロードされることはないかと思います。 どうでしょう? ということで、WebサーバにCGIなどでアップロードされたCSVファイルを見ることをできなくするには、アップロード時に保存するディレクトリをドキュメントルート以外の場所にしてしまえばよいかと思います。 もっと具体的にお話しがわかれば回答も求めているものに近くなるかと思います。
補足
そうですその通りです!そうなると つまり現在の『/html』より上のディレクトリにおけば良いって事ですよね そうすれば一応ドキュメントルート以外の場所ですから。 でも、たとえば『/』上にフォルダを生成した場合CGIからのアクセスは どのようなアドレスでアクセスすればよろしいのでしょうか?
- nuwaa
- ベストアンサー率31% (6/19)
表示ではなく、ダウンロードしたいのですね? ならば、右クリックして[対象をファイルに保存]をやってみてはどうでしょうか?
補足
すみません。ダウンロードしたいのではなく 右クリックして[対象をファイルに保存]をされたくないのです。
お礼
ありがとうございました(^^) 本当に助かりました。 無事CGIプログラムも完成しました。