• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccessによる特定のファイルに対するアクセス制限)

.htaccessによる特定のファイルに対するアクセス制限

このQ&Aのポイント
  • fc2.webで.htaccessを設定して、特定のファイルについて、ブラウザからの閲覧およびダウンロード等の直接アクセスを制限したいと思っています。
  • Javascriptの改変が自力ではできないので、ファイルマネージャーからロックできる下位ディレクトリにそのファイルを移動するのではなく、他のファイルと同様、rootに置いたファイル(一つ)だけを対象にしたいのです。
  • できれば、ディレクトリの内容一覧が表示されたりするのを防ぐ手立ても講じたいのですが、やはり、htaccessに記述するんでしょうか。

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

  • ベストアンサー
  • John_Papa
  • ベストアンサー率61% (1186/1936)
回答No.3

改めて見ると <Files ~ "\.csv$"> Deny from all </Files> これも正しい記述でしたね。 index.htmlも見られない件ですが、 もしかして、.htaccessファイル作成に「Windowsのメモ帳」などをお使いでしょうか? メモ帳でUTF-8エンコードで保存すると、データの先頭にBOMと呼ばれる3バイトのコードが付加されます。 これが.htaccessにあると500internal server errorとなります。 無料オンラインソフトのエディタであるTeraPadやEmEditorFreeでは、BOMを付加するしないをオプションで選べます。 メモ帳を使う場合は、Shift-JISで保存してアスキー転送でアップロードすればOKです。半角英数記号は、UTF-8もShift-JISも共通ですので。 おそらくこれに該当するのではないかと思います。

deguchik
質問者

お礼

あのあとも継続的に解決方法などを探しておりまして、お礼が遅くなりました。 まだベストの解決方が見つかってはいないのですが、いろいろと勉強になりました。 本当にありがとうございました。

deguchik
質問者

補足

いろいろありがとうございます。 まず、BOMですが、terapadでs-jis保存、アップロード、リネームで、index.htmlは見られるようになりました。考えもしなかった問題をご指摘いただきとても感謝しています。 csvファイルへの直接参照は確かにできないようになっており、当然と言えば当然ですが、その状態で検索を掛けると、csvファイルが参照できないため、エラーを返してきます。 したがいまして、私の狙いは、javascriptでは実現できないことが確認できました。 これから日中二カ国語共存のため、UTF-8が使えるcsv検索cgiを探そうと思います。 いろいろと勉強になりました。 本当にありがとうございました。

その他の回答 (2)

  • John_Papa
  • ベストアンサー率61% (1186/1936)
回答No.2

すみません。JavascriptでのCSV利用でしたか。 Javascriptでは、ローカルPCにて処理が行われますので、CSVフィルがダウンロードできなくしては機能しません。 無理です。ごめんなさい。No.1の回答も忘れてください。

deguchik
質問者

補足

Javascriptでは、ローカルPCにて処理が行われますので、CSVフィルがダウンロードできなくしては機能しません。 考えてみればそのとおりですね。 こういうことがわかっただけでも勉強になります。 ありがとうございました。 しかしわからないのは、どうしてindex.htmlも表示されなくなってしまうのかという点です。もしよろしければ、教えていただきたいのですが。csv検索で、同じような感じで上手い手がないものかと思案しております。

  • John_Papa
  • ベストアンサー率61% (1186/1936)
回答No.1

よく行われる手段として.htaccessに次の一行を加え AddHandler cgi-script csv CSVファイルにCGIのハンドラーを与えます。 こうすると直接CSVファイルを参照しようとすると、500internal server errorが返され、表示されることはありません。 他のCGIからデータとして利用することは問題なくできます。 .htaccessについては、検索でいくらでも親切に解説したサイトがありますのであなたのスキルに合うサイトを検索してみてください。

deguchik
質問者

補足

さっそくありがとうございます。 以下のように(.htaccessの中身全文です)加えて、アップロードして再度読み込みましたが、同様にindex.htmlは表示されず、500 Internal Server Errorと返されました。 .htaccessをリネームして無効にするとindex.htmlは表示されます。 一つ目 AddHandler cgi-script csv <Files ~ "\.csv$"> Deny from all </Files> 二つ目 AddHandler cgi-script csv 私が何か決定的な勘違いをしているのでしょうか? .htaccessの解説サイトは、このファイルを作る前にいくつか探してみました。 <Files ~ "\.csv$"> Deny from all </Files> は、そのサイトの解説に沿って作った内容です。

関連するQ&A