2017-02-05 1 views
1

目的:.htaccessを使用してディレクトリトラバーサルを防止したいと思います。.htaccessはサブフォルダへのアクセスをブロックします

状況:私は.htaccessファイルに次の行があります。Options All -Indexes

そして案の定を、localhost/rootfolder/page.phpを入力すると、許可されているが、localhost/rootfolder/を入力する(予想)403 Forbiddenページを返します。

問題:ただし、.htaccessのOptions All -Indexesのため、サブフォルダからファイルを描画することもできません。

たとえば、<img src=./subfolder/image.png>を使用して表示されるファイルパスrootfolder/subfolder/image.pngの画像があります。表示された画像は「壊れた画像」を返します。

画像を右クリックすると、ローカルホストに追加されたファイルパスを使用して画像が開きます(localhost/rootfolder/subfolder/image.png)。403 Forbiddenページも返されます。

質問:.htaccessを使用してディレクトリ閲覧へのアクセスをブロックするにはどうしたら、サブフォルダ内の個々のファイルにアクセスすることができますか?

答えて

0

あなたはhtaccessファイルに次の行を使用することができます。

RedirectMatch 403 ^/folder/?$ 

これがため/フォルダの要求を禁止しますが、あなたはあなたのファイルやサブフォルダにアクセスすることができます。

+0

'RedirectMatch 403 /'は動作しますか? –

+0

はい、これは動作します。それを試してください – starkeen

+0

私は '500'エラーが発生しました –

関連する問題