BASIC認証

BASIC認証で必要となる .htaccess ファイルとパスワードファイルを生成します

Basic認証は簡単で便利ですが、安全な認証方式ではありません。

BASIC認証

.htaccess
AuthUserFile 
AuthGroupFile /dev/null
AuthName "Protected Area"
AuthType Basic
require valid-user

<Files "^.(htaccess|htpasswd)$">
order allow,deny
deny from all
</Files> 
.htpasswd

↑ログインユーザー名とパスワードを検証するための文字列が格納される

 参考) 「SHA-1」Googleが衝突攻撃に成功レインボーテーブル

Basic認証の設定方法

  1. Basic認証を設定するディレクトリ(※)にファイル「check.php」をアップロード
  2. アップロードしたcheck.phpをブラウザで開き、表示内容を「1.フルパス」欄に入力
  3. 「2.ログインユーザー名」と「3.パスワード」を入力
  4. 「作成」ボタンをクリックして「.htaccess」と「.htpasswd」を作成
  5. このディレクトリ(※)に、名称「.htaccess」のファイルを作成し「.htaccess」欄の内容をペースト
  6. 同様に、名称「.htpasswd」のファイルを作成し「.htpasswd」欄の内容をペースト
  7. check.phpを削除して設置完了!

※ .htaccess, .htpasswd ファイルの文字コード&改行コードは、UTF-8N + LF

ログインユーザーの追加/変更

  1. 「2.ログインユーザー名」と「3.パスワード」を入力します(「1.フルパス」欄は不要)。
  2. 「作成」ボタンをクリックして、ログインユーザーの「.htpasswd」を生成します。
  3. 上記6で作成した「.htpasswd」ファイルに「.htpasswd」欄の内容を追記します。
    ● 1行で1つのログインユーザー
    ● 行の削除でログインユーザーを削除

※ ローカル環境でドット(.)で始まるファイルが作成できない場合はココをチェック

※ アルゴリズムは「sha1」を使う(他のアルゴリズムは使わなくていいです)

特定のIPアドレスからのアクセスを許可する設定例

# 1. BASIC認証 パスワードによるアクセス制限
AuthUserFile  /var/www/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Protected Area"
AuthType Basic
require valid-user

<Files "^.(htaccess|htpasswd)$">
order allow,deny
deny from all
</Files>


# 2. アクセス制限 IPアドレスによるアクセス制限
Order deny,allow
# 許可するIPアドレス
allow from 210.172.206.98
allow from 183.177.138.169
# 上記以外は拒否
Deny from all


# 1.2 どちらかの条件を満たせばアクセス可能
Satisfy any

# 1.BASIC認証 と 2.アクセス制限のいずれも満たすようにするには「Satisfy any」の代わりに以下を記述
# Satisfy All

※ 「#」半角シャープではじまる行は、行末までコメント。

.htaccess その他の使い方

こちら