2018年2月27日

【Basic認証】サイトにパスワードを設定する

よし

yoshihara

web担当よしです。

制作中のサイトなどや会員制のサイトを作る際、サイトにアクセス制限を掛けたいことがあります。こうした場合パスワードを設定するのが一般的だと思いますので、その方法をメモしておきます。
レンタルサーバーによっては、サーバーの管理ページからパスワード設定をする事ができたり、またwordpressのサイトですとプラグインを使用する方法もありますが、ここでは「.htaccess」というファイルを使い「Basic認証」という認証機能をwebサイトに設定する方法を記載します。

必要なファイルを用意する

Basic認証を行うためには「.htaccess」と「.htpasswd」という2つのファイルが必要になります。
「.htaccess」とはウェブサーバーの設定を記述するファイルで「.htpasswd」はアクセス制限をするためのユーザー名と暗号化されたパスワードが記述されたファイルになります。

.htpasswdファイルの作り方

  1. 設定したいユーザー名とパスワードを決めます。
  2. ネット上のパスワードを暗号化するツールなどでコードを生成します。
  3. テキストエディタで新規ファイルを作成し、生成されたコードをペーストします。
  4. テキスト形式で保存します。拡張子はなしで良いかと思います。

.htaccessファイルの作り方

  1. ftpソフトでサーバーに繋ぎ、アクセス制限したいディレクトリに.htaccessのファイルがあれば、エディターで開きます、ファイルがなければ新規でテキストファイルを作成してください。.で始まるファイル名は不可視ファイルになるため、表示されない事があります。注意が必要です。
  2. 以下のようなコードを追記して保存します。

各項目の説明は以下の通りです。

  • AuthUserfile:サーバーのルートディレクトリからの.htpasswdへのパスを指定します。絶対パスがわからない場合は下記のコードを記述したphpファイルを該当のディレクトリに置き、ブラウザからこのファイルにアクセスすれば判明します。
  • AuthGroupfile:グループのIDとパスワードのファイルのディレクトリの指定。Basic認証では必要ないため指定なしの意味の/dev/nullと記載します。
  • AuthName:パスワード入力の際に表示される文言。なんでも良いですが、日本語ではだめなようです。
  • AuthType:認証方法 BasicとDigest がありますが、ここではBasicです。
  • require:アクセスを特定のユーザーに絞らない場合はvalid-userと記述します。

ファイルのアップロード

ftpソフトを使い.htaccess内に指定したディレクトリに上記の2ファイルをアップロードします。
アップロード後ブラウザからサイトにアクセスして、下記のようなダイアログが表示されれば、Basic認証を設定できたことになります。

.htpasswdを作成する際に決めたユーザー名とパスワードを入力して、サイトに入る事ができれば成功です。

 

記事一覧へ