はじめに

Web ページに、IDとパスワードの認証をかける際に、「.htaccess」ファイルを利用しますが、それ以外にも「.htaccess」ファイルを利用すると、いろいろなことができます。
その他の便利な機能を紹介します。

前回は、IPアドレスで制限をかける方法を紹介しましたが、今回は、IPアドレス制限、もしくは、パスワード制限のどちらかがOKであればアクセスできる設定を紹介します。

参考:
.htaccess でWebサイトに接続元IPアドレス制限をかける方法

用意するもの

  • Webページに接続する接続元のIPアドレス
  • Webページに接続するユーザ名(これから作成するユーザ)
  • Webページに接続するパスワード(これから設定するパスワード)

設定方法

設定ファイル「.htaccess」とパスワード情報ファイル「.htpasswd」を用意し、アップロードすることで設定を行います。

STEP1

「.htaccess」ファイルを作成する。

接続元のIPアドレスが単独の場合

allow from [接続元のIPアドレス]

例)接続元のIPアドレスが、192.168.0.1 の場合

allow from 192.168.0.1

接続元のIPアドレスがネットワークの場合

allow from [接続元のIPアドレス]/[サブネットマスク]

例)接続元のIPアドレスが、192.168.0.0/24 の場合

allow from 192.168.0.0/255.255.255.0

その他のIPアドレスは拒否

deny from all

接続元IPアドレスの一致、または、パスワード認証でページにアクセスできるように設定するには、Satisfyを「any」に設定します。

Satisfy any

以下が、一般的なパスワード制限を行うための設定です。

パスワード情報設定ファイルのパスを指定します(環境に併せて設定を行って下さい)

AuthUserFile /var/www/.htpasswd

グループファイルは通常 /dev/null を設定します(通常はこのまま指定してください)

AuthGroupFile /dev/null

ブラウザで認証画面が表示される際のウィンドウに表示されるメッセージを指定します。日本語も指定は可能ですが、ブラウザにより文字化けする場合もあります。

AuthName "Members Only!"

認証タイプはBasicを選択します(通常はこのまま指定してください)

AuthType Basic

有効なユーザが認証可能だという設定です(通常はこのまま指定してください)

require valid-user

STEP3

「.htaccess」ファイルを保存し、Webページに設置する。
設置したディレクトリ配下が有効になる。

STEP4

認証用のID/PASSWORD が記載されたファイルを作成する。

例)/var/www/.htpasswd ファイルに ID/PASSWORD の記録する場合

サーバにFTPアカウントと同じユーザでsshでログインして、以下のコマンドを実行する。

・新規に /var/www/.htpasswd を作成する場合

htpasswd -c /var/www/.htpasswd USER
New password: (パスワード入力)
Re-type new password: (パスワード入力)

・すでに /var/www/.htpasswd がありユーザを追加する場合

htpasswd /var/www/.htpasswd USER
New password: (パスワード入力)
Re-type new password: (パスワード入力)

STEP 5

実際にブラウザからアクセスできるか確認します。

  • 指定のIPアドレスからは認証がかからずアクセスできることを確認。
  • 指定のIPアドレス以外の環境からは、パスワード認証を求められ、IDとパスワードでログインすると正常に表示することを確認。

おわりに

この他にも、「.htaccess」の便利な使い方が多くあるので、随時紹介していきます。