例えば、特定のIPアドレスやリモートホストからのアクセスを禁止する場合に、「 .htaccess」を利用しようと思うのですが、関係の無い人にまで、「 .htaccess」が設置してあって、何かしているなと思われるのは、少し微妙だなと思いました。
詳しい方、ぜひ教えていただけないでしょうか?
>「.htaccess」は外部からは内容は分からない
まずこれは間違い。.htaccessが外部からはアクセスできないようにちゃんと設定しておかないとURLに http://???/.htaccess と打ち込んだときに見えてしまうことがあります。一般的にはレンタルサーバなどはその辺はちゃんと対応していて、.htで始まるファイルにはアクセスできない(403 Forbiddenを表示させる)ように標準で設定されていると思われます。この場合.htaccessが存在するしないに関わらず http://???/.htaccess にアクセスしたときは全て403 Forbiddenが表示されるので、実際に.htaccessが存在するかどうかは分からないと思っていいです。
なるほど。基本的には分からないけれど、脇が甘いと見えてしまうかもしれない可能性があるということですね。
上の回答にあるように外部からは分かりません。
htaccess 自体を隠す方法
htaccess ファイルを設置したならば、まずは手持ちの WWW ブラウザで .htaccess が閲覧できるか確認しましょう。もし不幸にも見えてしまったなら、.htaccess ファイルに次の1行を加えましょう(*)。
AddHandler cgi-script htaccess
これで、手軽に .htaccess ファイル自体の閲覧を拒否できます。
http://mikeneko.creator.club.ne.jp/~lab/web/htaccess/usage.h...
また、.htaccessには
「ページが見つかりません」ページのカスタマイズ
http://www.shtml.jp/htaccess/404.html
index.cgiやindex.phpをトップページにする方法
(例えば携帯用ページを作ったときに、PC用と携帯用に振り分けたりとか)
http://www.shtml.jp/htaccess/directoryindex.html
などアクセス制限以外にもいろいろあるので、「.htaccessを設置している」こと自体はごく普通のことで、多くのサイトで使用してるものなので、気になさらないほうがいいと思います。
ありがとうございます。とても参考になりました!
> AddHandler cgi-script htaccess
> これで、手軽に .htaccess ファイル自体の閲覧を拒否できます。
これでは元の質問にあるように内容は分かりませんが、設置しているかどうかは分かってしまいます。
今のサーバ(Apache)はデフォルトで httpd.conf に以下のように書かれていますので、サーバ管理者が意図的に .htaccess を見せるように変更していなければ大丈夫です。
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
ありがとうございます。
結論として、通常のレンタルサーバでは、「.htaccess」は設置してあるかどうか分からないということですね!
外部からは知ることは出来ないのですね。
ありがとうございます。