403ではなく404でディレクトリ一覧を無効にする


9

私はそのようにディレクトリリストを無効にしました...

Options -Indexes

私がこのようなディレクトリにアクセスしようとすると:-

www.example.com/secret/

私が手403禁止応答を。

ただし、404 Not Found応答が必要なので、ハッカーは私のディレクトリ構造を簡単に推測できません。どうすればいいですか?



私はそれを理解していますが、誰もが簡単にできるようにしても意味がありません。特に、難しくするのにほとんど労力を要しません。
Rik Heywood

回答:


8

/ secretでmod_rewriteとAllowOverrideを有効にします。次に.htaccessを作成します。

RewriteEngine On
RewriteBase   /secret
RewriteRule   ^$ - [R=404,L]


1

代わりに404エラーを返すカスタム403スクリプトを作成します。

たとえば、PHPでは:

<?php
header("HTTP/1.0 404 Not Found");
die("<h1>404 Not Found</h1>");
?>

次に、403の結果に対してこのスクリプトを使用するようにApacheを構成します。

ErrorDocument 403 /403.php

書き換えをいじる必要はなく、サーバー全体で即座に機能します。


これはまだサーバーをこする人のための403として表示されませんか?
IRGeekSauce 2018

1
いいえheader()。コマンドが原因で、サーバーは正しい404エラーで応答します。
ジェラルドシュナイダー、

-1 =カスタムエラーメッセージが!=サーバーエラーメッセージ(ngingまたはapacheなど)の可能性があるため。これは、サーバーを構成する方法や.htaccessファイルを使用する方法がない場合の最後のソリューションです。さらに、このような「カスタムエラーメッセージ」をサーバーのエラーメッセージから区別できるため、このソリューションはWebサイトのDirBusteringを妨げません。
Awaaaaarghhh

0

ディレクトリのコンテンツのリストとしての表示を停止し、404エラーを表示する私の解決策は簡単です。プロジェクトのルートディレクトリに.htaccessファイルを作成し、保護するディレクトリを記述します。

ディレクトリ構造

- your_root_directory
  - .htaccess
  - 404.html
  - index.html 
  - app
    - other files I do not want to show
  - models
    - other files I do not want to show

.htaccess

RewriteEngine On
RewriteRule   ^app/ - [R=404,L]
RewriteRule   ^models/ - [R=404,L]

ErrorDocument 404 /your_root_directory/404.html

.htaccessの2行目は、アプリディレクトリとそのすべてのサブディレクトリ内のリストアイテムへのアクセスを許可しません。

.htaccessの3行目は、modelsディレクトリとそのすべてのサブディレクトリ内のリストアイテムへのアクセスを許可しません。

.htaccess行の4番目は、独自の404エラーを設定します(Apacheのデフォルトエラーを表示したくない場合)。

htaccessを使用する場合は、ブラウザのキャッシュをクリアしてください。


-2

エラーをマスクするには、.htaccessを使用します。このガイドを参照してください:

http://www.tarahost.net/pages/web-design/29371.php


3
これは理論的には質問に答える可能性がありますが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう。このリンクは現在無効になっているため、この回答は役に立たない
マークヘンダーソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.