0

私はこれについてかなり長い間調査しましたが、適切な答えを見つけることができませんでした。が提供する無料の PHP ホスティング Web サイトを使用してい000webhost.comます。.htaccess彼らから与えられたin public_html フォルダーがあります。includesディレクトリ構造には、ユーザーが直接 URL にアクセスした場合にユーザーにアクセスしてほしくないようなサブディレクトリがありますForbidden - 403

アクセスを許可したく.htaccessないすべてのサブディレクトリには入れたくありません。.htaccess がすべてのサブディレクトリとそれ自体の動作を変更できることをどこかで読みました。

パフォーマンスに関しては良いオプションではないことはわかっていますが、httpd.conf にアクセスできません。

SOには、これを教えてくれるいくつかの答えがあると思います:1.これらのサブディレクトリをpublic_htmlの外に移動します(そうしたくない)2..htaccessすべてのサブディレクトリを作成し、アクセスを拒否します(これは苦痛であり、スケーラブルなソリューションではありません)3.書き換えルールを使用してください(解決策がわからない可能性があります)誰かが理解して助けてくれることを願っています。

どうもありがとう。

4

2 に答える 2

1

実際、最も安全な解決策は、これらのディレクトリを DocumentRoot の外に移動することです。ただし、1 つの .htaccess に書き換えルールを簡単に追加して、アクセスを禁止することができます。

RewriteEngine On
# Group many forbidden directories as (a|b|c|d)
RewriteRule ^(include|otherforbidden|someotherone) - [F]

ただし、下流に何十ものディレクトリを管理する必要がない限り、ディレクトリ固有の .htaccess をそれぞれにドロップしても大きな問題はないと思います。

于 2012-09-26T14:27:35.227 に答える
1

RedirectMatch 403 ^/includes/.*$ルート.htaccessファイルに追加して、すべての呼び出しを /include ディレクトリにリダイレクトし、 403 Forbiddenエラーを強制します。

RedirectMatch 404 ^/includes/.*$ただし、攻撃者は代わりに404 File Not Foundエラーを受け取るため、代わりに使用する方が安全です。これは、403 エラーによって、攻撃対象のファイルがあることを攻撃者に知らせるため、より安全であると考えられています。

于 2012-09-26T14:30:08.613 に答える