web-dev-qa-db-ja.com

INIおよびXMLファイルへの直接アクセスを禁止する

一部のサイト所有者は、人々(特に競合他社)が自分のサイトにどのような機能を持っているかを知られたくない。

言語や設定ファイルの機密情報には、ブラウザから直接アクセスできるものがあるためです。

administrator/components/com_bank/language/en-GB/en-GB.com_bank.ini
administrator/components/com_bank/config.xml
components/com_bank/models/forms/transaction.xml

Joomlaについて知っている技術者だけがこれらのリンクを理解し、それらにアクセスして、サイトの機能を確認(または推測)できますが、サイトの所有者はすべてを秘密にしたいと考えています。

これらのINIおよびXMLファイルへの直接アクセスを禁止するサーバー側のソリューションまたはJoomla拡張機能はありますか?

10
Hung Tran

このディレクティブを.htaccessファイル:

<FilesMatch ".(ini|xml)$">
  order allow,deny
  deny from all
</FilesMatch>
13
Dmitry Rekun

Joomlaの.htaccessファイルを、ファイルタイプのRewriteRuleで拡張できます。

単純なものは

RewriteRule \.xml$ index.php [L]
RewriteRule \.ini$ index.php [L]

これらのルールは、リクエストの最後が「.xml」または「.ini」であるかどうかをチェックし、リクエストをindex.phpに書き換えます。 [L]は最後のルールを意味します。

これをセクションに入れてください

## Begin - Custom redirects
6
Harald Leithner

サーバー上のファイルに直接アクセスする場合、Joomlaは関与しないため、Joomla拡張は不適切なアプローチになります。

.htaccessを使用するか、サーバーの設定を使用すると、必要なことを簡単に実現できます。このようなことがうまくいくはずです:

<Files  ~ "\.xml$">
  Order allow,deny
  Deny from all
</Files>

http://www.ducea.com/2006/07/21/Apache-tips-tricks-deny-access-to-certain-file-types/ から取得

3
Bakual