ホームページ  >  記事  >  バックエンド開発  >  Apacheで特定のURLを保護する方法

Apacheで特定のURLを保護する方法

不言
不言オリジナル
2019-04-09 11:29:592308ブラウズ

場合によっては、Web サイト内の 1 つまたはいくつかの特定の URL を保護する必要があり、他のすべての Web サイト URL はパブリック アクセスのままになります。サイト内のディレクトリやファイル構造を利用して管理するのは非常に簡単ですが、cakephpなどのフレームワークのルーティング構造はディレクトリ構造とは異なり、ディレクトリレベルで保護することができません。この記事では、Apache での特定の URL の保護について紹介します。

Apacheで特定のURLを保護する方法

たとえば、サイトに http://example.com/admin/ のような安全な領域がある場合、/admin/ にアクセスできるのは承認されたユーザーまたは IP だけです。

1. 特定の URL に IP ベースの制限を設定する

まず、Apache 設定ファイルを編集し、virtualhost に次のエントリを追加します。これにより、/admin のみが許可されます。 URL 192.168.10.11 および 123.45.67.89 IP にアクセスします。

<Location /admin>
  Order deny,allow
  Deny from all
  Allow from 192.168.10.11
  Allow from 123.45.67.89
</Location>

Apache 構成ファイルを保存し、次のコマンドのいずれかを使用して Apache サービスを再起動します。

# service httpd restart          #  For RHEL based systems
$ sudo service apache2 restart    # For Debian based systems

からサイトにアクセスしようとします。他の IP も確認してください。設定ファイル内の指定された IP も確認してください。

2. 特定の URL にユーザー認証を設定します。

Apache 設定ファイルを編集して、次の場所に追加します。 Web サイト 次のコンテンツを virtualhost セクションに追加します。

<Location /admin>
  AuthUserFile /var/www/htpasswd/.htpasswd
  AuthName "Password Protected Area"
  AuthType Basic
  Require valid-user
</Location>

次に、以下のコマンドを使用して新しい htpasswd ファイルを作成し、新しいユーザーを追加します。

# htpasswd -cm /var/www/htpasswd/.htpasswd myuser

New password:
Re-type new password:
Adding password for user myuser

Apache を再起動し、Web サイトの URL にアクセスします。ログインを求めるプロンプトが表示されます。詳細情報。

# service httpd restart          #  For RHEL based systems
$ sudo service apache2 restart    # For Debian based systems

この記事はここで終了です。さらに興味深いコンテンツについては、PHP 中国語 Web サイトの PHP ビデオ チュートリアル 列に注目してください!

以上がApacheで特定のURLを保護する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。