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