• 締切済み

DocumentRootより上に設置した.htpasswdには防御不要?

DocumentRootより上に設置した.htpasswdには、その.htpasswdを置いたディレクトリに以下のような記述をした.htaccessなどを配置して、.htpasswdファイルを他の人から見えないようにする配慮は必要ないのでしょうか? <Files ~ "^\.ht"> order allow,deny deny from all satisfy all </Files> よろしくお願いします。 追記: http://oshiete1.goo.ne.jp/qa4194107.html にも.htaccess関連の質問をしていますが、なかなかコメント集まりません。よろしければ、こちらの方もよろしくお願いします。

みんなの回答

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

Apache系の専門のところ行った方が反応良いかもですね. ~は,Linuxの各ユーザのホームディレクトリを表す記号から来ていると思われます. Linuxの端末から cd ~username と入力すると,そのユーザのホームディレクトリに移動できます. このあたりから,サーバ作った人が採用したりして慣習になったんんじゃないですかね? 今は~はURLに含めるべき文字ではないということで使わないようになってます. 普通に考えたら必要ないですね. .htaccessファイルは,WEBサーバに接続したユーザがWEBサーバを介してファイルを閲覧するときのルールです. WEBサーバを介してユーザが表示できないフォルダだとあまり意味がないです. 万が一,WEBサーバの不具合とかで,そのフォルダを表示してしまったときの保険くらいにおいてもよいかもしれませんけど・・・

kitty1000
質問者

補足

aigaionさん ご回答、ありがとうございました。 了解しました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセス制限について

    初めまして。 質問の内容ですが、www直下においてある.htaccessに動作確認の為自分のホストをdenyするように記述しても、フォルダBにあるファイルにアクセスできてしまいます。フォルダAのバナーは表示されなくなるのですが…。 ロボ避けが働かないと困るので、何とか機能させたいと思っています。ディレクトリの構成と内容は以下の通りです。 | .htaccess | フォルダA(直リンクバナーを置いています)   |-.htaccessなし | フォルダB(サイト本体です)   |-.htaccessあり | フォルダC(制限にかかった時表示するファイルを置いています)   |-.htaccessあり ==========直下の.htaccess=========== DirectoryIndex index.html .ht order allow,deny allow from all deny from xxx.xxx.xxx.xxx deny from 自分のホスト名 <Files ~ "^\.ht"> deny from all </Files> <Files robots.txt> order deny,allow allow from all </Files> ==========フォルダB=========== DirectoryIndex index.html .ht ErrorDocument 403 /フォルダC/403.html order allow,deny allow from all deny from yyy.yyy.yyy.yyy <Files ~ "^\.ht"> deny from all </Files> ====================== です。長くてすみません。 以前動作確認した時はちゃんと弾かれていたのですが、最近フォルダBにある.htaccessを編集した時に再度動作確認してみると弾かれなくなっていました。 フォルダBに自分のホストをdenyするように書くとちゃんと機能します。どの辺りをいじればいいでしょうか?

    • ベストアンサー
    • HTML
  • apacheで<Directory>が機能しません

    apache2.2で、ヴァーチャルホストで複数ドメインを使用しています。 httpd.confの共通指定部分?に<Directory>や<Files>で下記のような指定したことが無視されます。 ・・・ヴァーチャルホスト設定部分の中に指定してもダメでした。 <Directory /home/user/html/aaa/bbb> Order deny,allow Deny from all </Directory> <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> DirectoryMatchやFilesMatchも無視されます・・・ しかし、LocationとLocationMatchでやった場合は機能しました。 ちなみに、.htaccessに Order allow,deny Deny from all と、書いても無視されました・・・(リダイレクトや書き換えなどは使用できたので.htaccess自体は機能していると思うのですが) coreモジュールは入っています。 mod_authz_hostは、LoadModuleで読み込んでいます。 それ以外のモジュールが必要なのでしょうか? なぜ、Locationは使えるのに、DirectoryやFilesは使えないのでしょうか? 原因がさっぱりわかりません。詳しい方よろしくお願いします。

  • .htaccessで500エラーが出ます

    はじめまして。 アクセス制限をかけたいディレクトリに.htaccessを作成し、 アップをすると500エラーでページが表示されません。 記述した内容は下記で ---------- <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> AuthUserFile /files/htaccess/pw/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and password" AuthType Basic require valid-user order deny,allow ---------- /files/htaccess/pw/.htpasswd のディレクトリに.htpasswdをアップしました。 500エラーの原因をいろいろ調べて、 転送モードはアスキー、文字コードはUTF-8、パーミッションは604、 最後の行に改行を入れるなど、 すべて実践してみたのですが、 一向にページが表示されません。 試しに.htaccessのファイルを削除するとページは表示されます。 自分ではもう全くお手上げ状態なので、 どなたか原因がわかる方がいらっしゃったら 教えていただければと思います。 よろしくお願いします。

  • .htaccessの記述間違いを教えてください

    .htaccessを使用して、アクセス制御を行おうとしたのですが、アップロードしてアクセスしてみるとすべてのアクセスがブロックされてしまいました。 制御したい事柄は以下の通りです。 ファイルの「.htaccessと.htpasswdと.class.php」にはアクセスできないようにすること。 IPアドレス88.80.10.1は、アクセス拒否 ユーザーエージェントの「MorfeusとZmEu」の名前がつくものは、FORBIDDEN を返すというものです。 以下 .htaccess の記述内容 ----------------------------------- <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> <Files ~ "\.class\.php$"> deny from all </Files> Order allow,deny Deny from 88.80.10.1 RewriteEngine On RewriteOptions inherit RewriteCond %{HTTP_USER_AGENT} ^Morfeus RewriteRule ^.*$ - [F] RewriteCond %{HTTP_USER_AGENT} ^ZmEu RewriteRule ^.*$ - [F] ----------------------------------- 何卒よろしくお願いいたします。

  • .htaccess/.htpasswdの設定

    プロバイダ側でサポート対象外になっているのは 承知の上ですので、実際運用されている方がいらしたら 改善方法を教えていただければと思います。 ぷららにてプライベートホームページサービスを利用中ですが WWWサーバにてID/PASSによるアクセス制限をかけたい ディレクトリがあります。(※公式上、CGIサーバは.htaccessを利用可能だが WWWサーバはサポート外) .htaccess/.htpasswdをそれぞれ用意したのですが いざアクセスをすると、認証画面より先へ進みません (passwdの方へ設定したユーザ名とパスワードを入れてもはねられる) ■.htaccessファイル #パスワード認証 AuthUserFile /home/ユーザ名/test/.htpasswd AuthGroupFile /dev/null AuthName "himitsu area" AuthType Basic require valid-user <Files ~ "^.(htpasswd|htaccess)$"> deny from all </Files> ■.htpasswdファイル ユーザ名1:(暗号化されたパス1) ユーザ名2:(暗号化されたパス2) ■構成 [ユーザ名]   |___[test]          |__.htaccess          |__.htpasswd          |__index.html         

  • .htaccessでのIP・ホストの制限について

    Mac os9.2、IE5.1.7、Dreamweaver MXでの作業です。 サイトトップにオンラインブックマークからのアクセス制限をかけたいのですが、どうやっても上手く出来ず、こちらに質問させて頂きました。 作業は「.htaccess.txtをIndex.htmlと同じ階層に作成」→「.htaccess.txtをDreamweaver MXでASKIi転送」→「ロリポのFTPからファイル名とパーミッションを604に変更」という感じです。 .htaccessの記述はロリポから参考URLになっていたサイトを参考にして作ったのが以下 AddHandler cgi-script htaccess order allow,deny allow from all deny from ht.tp://bookmarks.yahoo.co.jp/my コレは全く効きませんでした。次にこちらで参考URLになっていた.htaccess自動作成サイトで作ったのが以下 <Files ~ "^.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes setenvif referer "ht.tp://bookmarks.yahoo.co.jp/my" bad_referer1 order allow,deny allow from all deny from env=bad_referer1 こちらは500エラーになります。今、仕方なく、TOP以降へ入室する際にパス認証をかけてます(これはロリポでのサービス内なので、ちゃんと効いてます)。階層が違うので.htaccessが2つあるのがダメなのでしょうか? パス認証は出来れば使用したくないので、特定のURL、IP、ホストからの制限にしたいのです。どうぞご指導お願い致します。(当方.htaccessは全くの初心者です)

  • INDEXは表示、リンク先以降にパスワード

    CGI、SSI、.htaccess利用可能なさくらインターネットというサーバをレンタルし、主にサーバのファイルマネージャーを使ってサイトを作っています。 HTMLもサイト作成も初心者です。宜しくお願いします。 INDEX (.htaccessでロボットをブロック ここにパスワードのヒントを書く) ↓この間にパスワード画面が出てほしい HOME(サイト内容のトップ) と、こうしたいです。 INDEXページ以外のファイルは全てフォルダに入れており、そこに.htaccessでパスワードを設置しました。 /home/アカウント名/www   (元のアカウントは表示できないよう.htaccessで制限)    サイト全体のフォルダ  (ここにINDEXとロボット制限)        HOME以下のフォルダ   (ここに全ファイルと.htaccessと.htpasswd) ですが アクセスするとまずユーザー名、パスワードの入力画面が出て、表示させたいINDEXページの内容が出ません。 入力画面でキャンセルをすればページが見れるようになり、ユーザー名、パスワードを入れると正常にHOMEに入れます。 なにか良い解決策はないでしょうか。 あちこちのHTML解説サイトの見よう見まねで作成しているので、どのアクセス制限が問題なのかもわかりません…。 元のアカウントの制限には DirectoryIndex .ht AuthUserFile /home/アカウント名/www/.htpasswd AuthType Basic AuthName "Web access" Satisfy all Order deny,allow Allow from all INDEXにおいた.htaccessの最後に DirectoryIndex (INDEX名).html .ht AuthType Basic AuthName "Web access" Satisfy all Order deny,allow Allow from all HOMEの.htaccessの最後には ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html AuthUserFile /home/アカウント名/www/(サイト全体フォルダ)/(HOMEフォルダ)/.htpasswd AuthType Basic AuthName "Web access" Require valid-user Satisfy all Order allow,deny Allow from all と記述しています。問題のあるところをご指摘していただきたいです。 自分なりに問題解決のため検索をかけ、さくらインターネットのルーティングは一癖あるという解説も読んだのですが、許容オーバーでわたしには難しく理解できませんでした…。 あと、エラーログでときどき INDEXページの背景画像や外部CSSが「user not found」でヒットしています。自分で確認したところ、ほとんどのブラウザは表示できているのですが、firefoxではできていないように思います。 こちらの改善策もできればお願いします。

  • 【Apache】<Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは?

    <Files ~ "(?i:\.ini|\.tmp)$"> Order Deny,Allow deny from all </Files> と、 <FilesMatch "(?i:\.ini|\.tmp)$"> Order Deny,Allow deny from all </FilesMatch> また、 <Directory ~ "^/www/.*/[0-9]{3}"> Order Deny,Allow deny from all </Directory> と、 <DirectoryMatch "^/www/.*/[0-9]{3}"> Order Deny,Allow deny from all </DirectoryMatch> は、 どうも同じ挙動をしているように思われます。 (違っていたらご指摘ください。) Apacheのマニュアルには、 (http://httpd.apache.org/docs/2.0/ja/mod/core.html) <Files> ディレクティブ の項目を見ると、 //=========================================================== ~ という文字を付加することで拡張正規表現を使うこともできます。 例えば、 <Files ~ "\.(gif|jpe?g|png)$"> とすることにより、一般的なインターネットの画像フォーマットにマッチします。 ただし、 <FilesMatch> を使う方が 推奨されています。 //=========================================================== とあるのですが・・・。 (ただ、<DirectoryMatch> を使う方が 推奨されています。とは書いてないようです) これら、 <Files ~>と<FilesMatch>及び、<Directory ~>と<DirectoryMatch>の違いは、 いったいなになのでしょうか? ご存じの方いらっしゃいましたら、お教えいただければ幸いです。

  • htaccessの認証が出来ません…

    htaccessによるBasic認証を試みてるのですが、何度IDとPASSを打っても同じ認証画面が出てきてしまいます…。 .htaccessには以下のように記述してあります。 AuthUserFile "フルパス.htpasswd" AuthGroupFile "/dev/null" AuthName "Input ID and Password." AuthType Basic <Limit GET POST PUT> require valid-user </Limit> <Files ~ "^.(htpasswd|htaccess)$"> Order deny,allow deny from all </Files> .htpasswdには ID:暗号化したパスワード と記述してあります。 フルパスの指定に間違いがないとしたら、何か他に認証に 失敗する原因として挙げられるものがありますでしょうか? 『0ad』というところでレンタルサーバーしてまして、htaccess可能となってはいるのですが…。

  • webサイトの「index」を非表示にしたい

    質問です。 WEbサイトで「http://○○/index.html」の 「index」を非表示にしたいのですがうまくいきません。 「.htaccess」で <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes order deny,allow と入力しサーバにアップはしているのですが、 他のページからINDEXページに戻ってきた際に indexが表示されています。 最初にWEBページにやってきた時は消えている時もあります。 ブックマークからサイトにくると表示されています。 どこか間違っている箇所があるか 教えて頂けると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • HTML
このQ&Aのポイント
  • 引っ越し先のマンションで提供される無料ネットについてご存知ですか?手続き方法を教えてください。
  • 「ISPぷらら」が提供する引っ越し先のマンションで利用できる無料ネットについての手続き方法を教えてください。
  • マンションの引っ越し先で提供される無料ネットについての手続き方法を教えてください(ISPぷらら使用)。
回答を見る