
Apache サーバーの設定を強化していますが、"^.ht.+"
.htaccess と .htpasswd 以外のファイルも使用しているかどうか知りたいです。
答え1
Apache ですか? いいえ。
通常使用されるのは だけですが、これは単に がデフォルトである.htaccess
ために発生します。この設定を変更すると、 で始まるファイルに Apache はまったく関心を持たなくなります。AccessFileName
AccessFileName .htaccess
.ht
.htpasswd
これは通常の標準ではなく、実際には良い考えでもありません。Apache のアクセス制限を回避してファイルの内容にアクセスできる可能性のある他の方法 (リモート ファイル インクルードの脆弱性) があるため、認証ファイルを Web ルートから外すことが一般的に推奨されています。
他の人もそうでしょうか? 多分そうでしょう。
.ht*
「これは何らかの制限された/アクセスできないファイルです」という一般的な使用法は、多くの.htaccess
人々がアクセス制御と書き換えルールを配置する「適切な」場所であると誤解しているのと同じ理由で、一部の人々/コンテンツ/Webアプリケーションによって予想/乱用されています。それはそのためのものではないにもかかわらずしたがって、 のデフォルトの動作を無効にする場合<Files ~ "^\.ht">
(強化のためにこれを行う必要があるのはなぜですか?)、コンテンツがファイル名規則を悪用して内容を隠していないことを確認してください。
答え2
.htaccess
Apache が使用するデフォルトですAccessFileName
。`.htpasswd' については特別なことは何もありません。ほとんどの人がこれを使用しているため、ACL がアクセスをブロックしやすくなるというだけです。これらのファイル名を使用する必要があるという規定はありません。また、httpd.conf ファイルにアクセスできる場合は、ディレクトリへのアクセスが遅くなるため、これらのファイル名はまったく使用しないでください。サーバー設定にアクセスできない人にオーバーライド アクセスを許可するのに適しています。
そうは言っても、設定でディレクティブを使用してデフォルトを変更しておらずAccessFileName
、すべてのパスワード ファイルに .htpasswd という名前を付けている場合は、ドットファイルで問題ないはずです。
答え3
他の .htaccess を使用しているかどうかを確認する方法は次のとおりです。コア - Apache HTTP サーバーまた、これは、他のユーザーがアクセスできないようにするために、Apache で使用すべきものです。
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>