- PR -

htaccessが見えてしまっている

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/07/30
投稿数: 7
投稿日時: 2007-11-02 12:19
環境:Apache/2.2.3

.htaccessが見えてしまっていて、困っています。

コード:
<Files ~ "^\.ht">

Order allow,deny
Deny from all
</Files>


はデフォルトのままにしてあります。
なので、通常のディレクトリであればキチンとForbiddenになってくれます。

しかし、<Location>や<Directory>の中で以下の様な制限を掛けているところでは
上記Filesでの制御が効かずに.htaccessが見えてしまうのです。

コード:
 Order   deny,allow

Deny from all
Allow from 192.168.



FilesとLocationのどちらにもOrder等の記述があるので、優先順位の問題かとも思うのですが、
これは設定の方法が悪いのでしょうか?

検索したところ、以下の様な記述で見せなくすることも出来ますが、皆さんもこの様な方法を
使っていらっしゃるのでしょうか?
AddHandler cgi-script .htaccess

[ メッセージ編集済み 編集者: 未記入 編集日時 2007-11-02 14:03 ]

[ メッセージ編集済み 編集者: 未記入 編集日時 2007-11-02 14:03 ]
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2007-11-08 12:35
Directory でもダメですか?

# <Directory> セクションと .htaccess の読み込みの後、 <Files> セクションを 適用した
# 後に、設定ファイルに現れた順に処理されます。

http://httpd.apache.org/docs/2.0/mod/core.html#location

マニュアルにこんな記述があるので、Location を指定すると、Files で指定した内容がオーバーライドされるのは仕様どおりだと思いますが。

ちなみに私の場合は、Directory や Files で指定できるものに対して、Location を使わないので、そのような問題に遭ったことがありません。
未記入
会議室デビュー日: 2007/07/30
投稿数: 7
投稿日時: 2007-11-14 15:06
あんとれ様

ご返信ありがとう御座います。気付くのが遅れてしまいました。

やはり<Directory>でも駄目でした。が、実験してみて分かったことがありました。

情報を全て出し切れてなく申し訳なかったのですが、<Directory>セクションの中で
IPアドレスorLDAP認証でどちらかがOKなら許可するように制限をかけています。

コード:
<Directory /export/home/>
 # Permit by IP or LDAP
 Satisfy Any
 # IP Address
 Order   deny,allow
 Deny    from all
 Allow   from 172.16.
 # LDAP Authentication
 AuthName "Enter UserID/Password"
 AuthType Basic
 AuthBasicProvider ldap
 ・
 ・
 以下LDAP設定

</Directory>



この設定のうち、"Satisfy Any"の行が影響していました。この行をコメントするとキチンとForbiddenになってくれます。

ふと、以下のようにしてみたらちゃんとForbiddenになってくれました。
コード:
<Files ~ "^\\.ht">
    Satisfy All
    Order allow,deny
    Deny from all
</Files>



分かるような、分からないような状態です。
<Directory>で設定してある内容が有効になったままなので、<Files>の方で上書き(?)してやらないといけないようなイメージですかね?
1

スキルアップ/キャリアアップ(JOB@IT)