【.htaccess】Basic認証の設定方法

技術

お客さんにテストページを確認してもらう際など「ページに簡易的なパスワードをかけたい」というときに便利なBasic(ベーシック)認証。

今回は、安全で失敗しないBasic認証の設定方法について解説します!

Basic認証を設定する手順の確認

Basic認証の設定は、以下の3つの手順で完了します。

  1. 1. サーバーの「フルパス」を調べる
  2. 2. .htpasswdを作る
  3. 3. .htaccessを作ってアップロードする

具体的な書き方を見ていきましょう。

【コード例あり】実際の書き方

.htpasswd ファイル

まずはIDと暗号化されたパスワードを書き込むファイルを作ります。
ツール(僕がいつも使っているのはこのページです。htpasswdファイル生成)を使い、以下のような形式で記述します。

安全のためにも英数字+記号の強力なパスワードにしましょう。

id:$apr1$y7x9z...(暗号化されたパスワード)

.htaccess ファイル

次に、認証をかけたいフォルダに配置する .htaccess のコード例です。それぞれの詳しい意味は次の章で解説します。

AuthUserFile /home/ユーザー名/example.com/public_html/.htpasswd
AuthType Basic
AuthName "Please enter your ID and Password"
Require valid-user

.htaccessの詳しい解説

AuthUserFile: ルートディレクトリからの .htpasswd への「フルパス」を指定します。

AuthType Basic: 認証方式の指定。Basic認証を指定しています。

AuthName: ダイアログに表示されるメッセージ。文字化けを防ぐため、英数字での記述が安全です。

Require valid-user: アクセスを許可する指定。「パスワードが合っていれば誰でもアクセス許可」という設定です。

【重要】.htaccess はどこに設置する?

ファイルが用意できたら、サーバーにアップロードします。

.htaccess の設置場所

.htaccess は、「パスワード制限をかけたいフォルダ(ディレクトリ)」の直下に設置します。 例えば、サイト全体(トップページ以降すべて)に制限をかけたい場合は public_html(または www )のすぐ下に置きます。「テスト用の特定ページだけ」にかけたい場合は、public_html/test/ のようにそのフォルダの中に配置してください。

└── public_html/
     ├── .htaccess  ← ★認証をかけたいフォルダに置く
     ├── index.php
     ├── ...
     └── test
          ├── .htaccess  ← ★testのディレクトリに設定したい場合
          ├── index.php
          └── ...

500 Internal Server Error が出た場合

「記述ミス」か「古い構文が混ざっている」可能性が高いです。 .htaccessで使用されているコード について誤りがないか確認してください。

まとめ

正しい知識を身につけて、安全にサイトを保護しましょう。

SNSでシェアする

SNSでシェアしていただけるととても嬉しいです。

Share