My Photo

« PHPメモ039:Smartyで独自の修飾子を定義する | Main | PHPメモ040:Smartyでクラスの定数を使う »

July 13, 2014

.htaccessでBASIC認証

BASIC認証についてはブログに書いたことあるような気がするが、記事が見つからない。気のせいか。

.httaccessの記述

.htaccessに設定を書いてBASIC認証を有効にする場合、以下のように記述する。
.htaccess は .htaccess があるファイルのディレクトリだけでなく、サブディレクトリにも適用される。

AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName "Basic Auth"
AuthType Basic
Require valid-user

1行目の AuthUserFile は認証で使うユーザ名とパスワードを記述したファイル(パスワードファイル)を指定する。このファイルの作り方は後述。
2行目の AuthGroupFile は認証で使うグループを記述したファイルを指定する。使わない場合は /dev/null とすればよい。/dev/null 以外が指定されているのを見たことがない。解説サイトとかでも大体 /dev/null でいいと書いてある。
3行目の AuthName はIDとパスワードを入れる画面で表示されるメッセージだと思えばよい。認証領域(authentication realm)を表す。ID・パスワード入力のダイアログに表示されるが、単なる表示用テキストではない。
4行目の AuthType は認証の方式を指定する。BASIC認証の場合は "BASIC"。
5行目の require この制限でアクセスを許可するユーザやグループを指定する。"valid-user" は認証されたすべてのユーザ、つまりAuthUserFileで指定されたファイルに記述されたすべてのユーザにアクセスを許可する。

htpasswdコマンド

BASIC認証で使うパスワードファイルは htpasswd コマンドを使用する。
最初にファイルを作成するときは -c オプションを付けて実行する。

htpasswd -c <パスワードファイル名> <ユーザ名>

ユーザを追加する場合はオプションなしで実行する。

htpasswd <パスワードファイル名> <ユーザ名>

ユーザを削除する場合は -D オプションを付けて実行する。

htpasswd -D <パスワードファイル名> <ユーザ名>

IPアドレスによるアクセス制限との組み合わせ

BASIC認証とIPアドレスによるアクセス制限を組み合わせには、.htaccess に以下のように記述する。

AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName "Basic Auth"
AuthType Basic
Require valid-user

Satisfy Any

Order Allow,Deny
Allow from 192.168.36.0/24

7行目の Satisfy のパラメータは Any または All である。

  • Satisfy Any:IPアドレス制限を満たすか、または正しいユーザ名とパスワードの入力をするかをすればアクセスを許可される。
  • Satisfy All:の場合、IPアドレス制限を満たし、かつ正しいユーザ名とパスワードの入力をするかをすればアクセスを許可される。

参考ページ:
ApacheによるWebサーバ構築(10):ユーザー認証によるアクセス制限(ベーシック認証編) (2/2) - @IT
mod_auth - Apache HTTP サーバ
Apache チュートリアル: .htaccess ファイル - Apache HTTP サーバ バージョン 2.2
htpasswd コマンドの使い方 - KUNITAKE's Wiki
ApacheでのBasic認証とIPアドレスによるアクセス制限 - 積み重ねた日々
htaccessの上位ディレクトリでallowをしているとベーシック認証が効かない。|パソコンいろいろ
ミケネコの htaccess リファレンス
Basic認証を使用したサイトの構築(CentOS+Apache) - ぬけラボ
アクセス制限の記述(Order, Allow, Deny) - アクセス制限 - Apache入門
.htaccess概論|.htaccess|Web制作 W3G

« PHPメモ039:Smartyで独自の修飾子を定義する | Main | PHPメモ040:Smartyでクラスの定数を使う »

Linux」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/59978617

Listed below are links to weblogs that reference .htaccessでBASIC認証:

« PHPメモ039:Smartyで独自の修飾子を定義する | Main | PHPメモ040:Smartyでクラスの定数を使う »

May 2017
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof