• ベストアンサー

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

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

    よろしくお願いします。 現在、ボタンを押すと(=CGI実行)フィルターによりCSVファイルが作成されるという様なものを開発しております。 しかし、その出来上がったCSVファイルをそのままダウンロードしたいと言う要望がありまして、そのCGIに組み込めないものかといろいろ調べております。 概要 (1)ボタンを押す(=CGI実行) (2)フィルターによりCSVファイル作成 (3)作成されたファイルをダウンロード という具合で、教えていただきたいのは(3)です((1)(2)は作成済み)。 実際にはCSVファイルは3つできるのですが、これらをまとめてダウンロード・・・というのはムリですよねぇ(第1希望)。 ムリなら、処理の中で圧縮させます(これぐらいはできます)ので、そのファイルをダウンロードさせるというやり方でも構いません(第2希望)。 実現が難しいようであれば実行結果画面に<a href= ~>で貼り付けます。 webサーバー・・・HP-UX web・・・IE CGI開発言語・・・Perl 開発端末・・・windows2000(Tera Term 使用) 以上、情報等お持ちの方いらっしゃいましたら、 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • CSVファイルのダウンロードについて

    要件:サーバにあるCSVファイルのダウンロードを行う 問題:<A>タグで実装すると、Windows2000では、    CSVファイルがそのままブラウザで表示される    ⇒ ダウンロードのダイアログを表示させたい ※ WindowsXPでは、ダイアログが表示されます。 申し訳ないのですが、ご協力お願いします。

    • ベストアンサー
    • HTML
  • CSVファイルのダウンロードについて

    サーバー上にアップしたcsvファイルにアクセスすると ダウンロードの確認ダイアログが出ずに 画面上にテキストベースで表示されてしまいます。 フォルダオプションの設定で ダウンロード後に開くを確認するのチェックボックスを チェックしましたがうまくいきません。 宜しくお願いします。 ※Webサーバー・・・JRUN4 <-- sample.jsp --> <% response.setContentType("application/octet-stream-dummy; charset=iso-2022-jp"); %> <% response.setHeader("Content-Disposition","inline; filename=aaa.csv"); %> top.location.href=~aaa.csv ← ファイルのフルパス

    • ベストアンサー
    • Java
  • csvファイルのダウンロード方法。

    csvファイルをアップロードして、HTMLからリンクをはっています。 <A HREF="***.csv">ダウンロード</A> これで、私のPCでは正常に、ダウンロードができるのですが、 (ダイアログボックスが出て、ファイル保存箇所もきいてくる。) もうひとつのPCでは、ブラウザに表示されてしまうのです。 このPCの違いといったら、OSが違うことくらいしか思い当たりません。 (できる方はwin2000・できないほうはwinXP) この回避方法を教えてください。 よろしくお願いします。

  • ASPでCSVファイルを作成しダウンロードさせる

    ASPファイルで、動的にCSVファイルを作成し、クライアントにダウンロードさせたいのですが、実際には、ファイルは作成せずに、ASPで直接、CSVフォーマットのファイルをダウンロードさせているように振舞わせることはできないでしょうか? 手順 クライアント        サーバー あるURL(A.ASP)にアクセス              A.ASPのスクリプトでCSVフォーマットを作成              クライアントに送信(多分、Response.Writeで) ダウンロードダイアログが開く 「A.CSVをダウンロードしますか?」 のような感じ ダウンロード、またはExcelが開く というようなイメージです。 CSVファイルを作ってしまうと、複数のユーザーからほぼ同時に要求があった場合、望むCSVにならない可能性があり、また、毎回ファイル名を変えると、Webサーバー上にCSVファイルが沢山できてしまうため、何とかこの方法でやりたいのですが、何かよい方法はありませんでしょうか? ちなみに次のようなASPファイルをしてみましたが、うまくいきません。 <% Response.Content-Type="application/vnd.ms-excel" Response.Write "1,2" & vbNewLine Response.Write "3,4" & vbNewLine %> また、「vnd.ms-excel」を「oct-stream」でもだめでした。 何かよい知恵をお貸しください。

  • CSVファイルを守るには・・・?

    データバインダ方式を利用したサイトなので、CSVファイルを アップロードしているんですが、そのファイルに直接、アクセス されてきたら、丸ごとそのファイルをダウンロードされてしまい、 せっかく、そのようなサイトをこしらえても、なんのこっちゃ分かりません。 そのディレクトリ内にアクセスしてくる場合には、必ず、index.htmlを 見るようにする、とか言った「CGIプログラム」があれば 良いんでしょうけど・・・・?そんなプログラム見たことが有りません。 アクセス制限CGIを試してみましたが、直接アクセスしてみたら、 やはり、易々とダウンロードできてしまいました。(TT;) どなたか、CSVファイルを守るお知恵を 拝借させていただけませんでしょうか?以上、よろしくお願い申し上げます。

    • ベストアンサー
    • CGI
  • webdavを使ったファイルのアップロード、ダウンロードについて

    WebDAVを使ってファイルのアップロード、ダウンロードをする方法についてお聞きします。(サーバ側:linux, クライアント側:Windowsの場合) Windowsでネットワークプレースを追加することにより、マイネットワークからwebDAVを設定したサーバのディレクトリにアクセスでき、ファイルのアップロード、ダウンロードができますが、IEなどのブラウザでURLを開いただけでは、ファイルのアップロード、ダウンロードができたりはしないのでしょうか???

  • CSVファイルのダウンロードができたりできなかったり・・

    ASPで、サーバー側で動的に作成したCSVファイルをクライアント側にダウンロードさせたいと思っていますが、 ダウンロードできるときとできないときがあり困っています。 「ファイルのダウンロード」ダイアログが表示され、うまくダウンロードできるときと、 「Internet Explorer では、[サイト名]-[aspファイル名]をダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトがしようできないか、見つけることができません。後でやり直してください。」のメッセージが表示され、ダウンロードできない場合があります。 どちらもサーバー上にダウンロードすべきCSVファイルは作成されているので、ダウンロード部分に問題があると思うのですが、原因がわかりません。 ひとつ気づいたのが、csvファイルの容量が4.0MBを超えるとダウンロードできないような気がするのですが、関係ありますでしょうか? よろしくお願い致します。 --------出力のためのスクリプト----------------- Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition", "attachment; filename = " & CSVファイル名 Set fs = Server.CreateObject("Scripting.FileSystemObject") CSV_DATA = Server.MapPath(CSVファイル名) If fs.FileExists(CSV_DATA) Then Set ts = fs.OpenTextFile(CSV_DATA, 1) Do Until ts.AtEndOfStream Response.Write ts.ReadLine() & vbCrLf Loop ts.Close End If Response.End -----------------------------------------------

  • サーバーからCSVファイルの自動ダウンロード

    HP上のCGIに入力項目をつくり、その入力された値をサーバー側のフォルダーのCSVファイルに格納しています。 このCSVファイルを、「一定時間ごと(5分から10分くらい)」、又は、「値が入力された時ごと」に 自動的にダウンロードする方法を知りたいのですが・・・ 現在のサーバーはビジネスぷららですが、サーバーの変更は可能です。 FFFTPソフトもフリーソフトを使用していますが、変更可能で、シェアーウェアーでもOKです。 ファイルを自動的にアップロードする方法は、たくさんあるようなのですが、ダウンロードする方法のサイトがなかなか見つかりません。 とにかくできる方法を知りたいのですが、よろしくお願いします。

  • csvファイルのダウンロード

    こんにちわ。 今、IE6.0 SP1で、OSがWin2000 SP4の環境にて、CSVファイルをブラウザより、「ファイルnダウンロード」ダイアログにて、保存先等を指定できるようにしたいのですが、ブラウザ上にデータ内容が表示されてしまいます。 「フォルダオプション」、「ファイルタイプ」にて、CSVファイルの設定を「ダウンロード後に開く確認をする。」にチェックを付けてみたのですが、やはりだめでした。 どなたか、ダイアログ表示の方法をご存知の方がいらっしゃいましたら、ご教授ください。