AboutデジタルIT・インターネットホームページ作成アクセス制限・認証、サイト内検索Basic認証(基本認証)でアクセス制限をかける方法ホームページ作成/アクセス制限・認証、サイト内検索Basic認証(基本認証)でアクセス制限をかける方法(3ページ目)ウェブサイト内の特定ページやディレクトリにアクセス制限を施す設定方法として、Basic認証(ベーシック認証/基本認証)の使い方を初心者向けに解説。ユーザー名(ID)とパスワードの入力が必要な会員制ホームページの作成方法をご紹介。HTMLの修正は不要で、.htaccessファイル等を書けば簡単にパスワード認証を設定できます。文宏ホームページ作成ガイドStep2:ユーザー名とパスワードを記録する.htpasswdファイルを作成ユーザー名(ID)とパスワードを記録した.htpasswdファイルを作る続いて、Basic認証を設定する際に必要な2ファイルのうち、2つ目である.htpasswdファイルの作成方法をご紹介いたします。記述できたら.htpasswdファイルを保存してアップロードするユーザー名(ID)+パスワードの収録ファイル.htpasswdを作成する概要Basic認証では、設定を記述した.htaccessファイルとは別に、認証に使うためのユーザー名(ID)とパスワードを格納したファイルも作成する必要があります。ファイル名は「.htpasswd」というドット記号で始まる名称がよく使われますが、他の名称でも構いません。.htaccessファイル側に書いた名称でファイルを作成して下さい。このファイルの中身もプレーンテキストなので、テキストエディタで作成できます。Windowsに付属の「メモ帳」でも問題ありません。下図のように、ユーザー名とパスワードのセットを必要なだけいくつでも列挙できます。Basic認証用のユーザー名(ID)とパスワードを列挙した.htpasswdファイルの例1行1アカウントで列挙する.htpasswdファイルの構成この.htpasswdファイルの中身は、以下のようなシンプルな書式になっています。ユーザー名:パスワードユーザー名:パスワードユーザー名:パスワードユーザー名とパスワードを半角コロン記号「:」で区切って1行ずつ列挙しているだけです。3つのアカウントを作成した場合は、以下のような内容になります。suzuki:XkB8Ou3kAcODeyamada:5dHw0u9s4TltIinoue:A0e7PvhEdWyvE上記のサンプルでは、「suzuki」・「yamada」・「inoue」という3つのユーザー名と、それぞれのユーザー名に対応するパスワードが記述されています。ここでのパスワードは「パスワードそのもの」ではなく、ハッシュ化と呼ばれる方法で変換した結果を記述しています(詳しくは後述)。ユーザー名もパスワードも大文字・小文字は区別して扱われますので注意して下さい。「suzuki」と「Suzuki」と「SUZUKI」は、どれも異なるユーザー名として認識されます。.htpasswd内のパスワードはハッシュ化されている上記にパスワードの記述サンプルとして示した「XkB8Ou3kAcODe」のような文字列は、本来のパスワードをハッシュ化した文字列です。「XkB8Ou3kAcODe」という文字列がパスワードなのではありません。パスワード欄に「XkB8Ou3kAcODe」と入力しても、認証は通りません。元のパスワードは保存せず、ハッシュ化した後の文字列だけを.htpasswdファイルに記録する※ここでパスワード文字列の変換に使っている「ハッシュ化」は、元のパスワードが分からない状態に変換される点では暗号化と似ています。暗号化された結果の場合は復号化(元の文字列に戻すこと)ができるのに対し、ハッシュ化の場合は元の文字列に戻す変換ができないという違いがあります。このように、.htpasswdファイルに記載されるパスワードは「本来のパスワードそのもの」ではないため、直接ファイルの中身を閲覧されたとしても、本来のパスワードは分かりません。絶対に分からないわけではないので、.htpasswdファイルの中身は第三者に見られないよう隠しておく必要があります。隠すように設定する方法は、本記事の最後でご紹介いたします。パスワードをハッシュ化するサービスを利用する方法.htpasswdファイルの中身を作成するためには、何らかの方法でパスワードをハッシュ化する必要があります。Basic認証用にパスワードをハッシュ化するには、そのような変換サービスを提供しているウェブサイトがたくさんありますから、それらを利用すると良いでしょう。「基本認証用パスワード暗号化」ページでは、最大10個までのパスワードを一括してハッシュ化できます。ユーザー名(ID)とパスワードのセットを必要なだけ入力してから「パスワード暗号化」ボタンを押すだけで、そのまま.htpasswdファイルにコピー&ペーストして使える書式で出力されます。生成」などのキーワードで検索すれば多数見つかります。使いやすいサイトを利用すると良いでしょう。ユーザー名(ID)とパスワードを列挙した.htpasswdファイルの作成方法パスワードをハッシュ化できたら、ユーザー名とハッシュ化パスワードを半角コロン記号「:」で繋げて、下図のように1行1アカウントで列挙します。.htpasswdファイルの記述例(ユーザー名とパスワードを7セット記述)記述できたら.htpasswdファイルを保存してアップロードする必要なだけ記述ができたらファイルとして保存し、サーバにアップロードしましょう。■保存:ファイル名を「.htpasswd」にしてプレーンテキストで保存ファイル名は「.htpasswd」とするのが標準的ですが他の名称でも構いません。前ページで作成した.htaccessファイル内に記述した名称で保存して下さい。Mark)を付加しない設定で保存して下さい。テキストエディタによっては「UTF-8N」と表記されています。Windowsの「メモ帳」を使う場合は、デフォルトの「ANSI」のままで保存して下さい。■アップロード場所:保存できたらサーバにアップロードします。アップロード先は、前ページで作成した.htaccessファイル内の「AuthUserFile」項目に記述した場所です。ブラウザから閲覧できる必要はないので、ウェブ上に公開されないディレクトリに置いておくと安全でしょう。Basic認証に必要な2ファイルの作成が完了Basic認証を利用するために用意する2つのファイルこれまでの作業で、Basic認証を利用するために必要な以下の2ファイルの準備が完了しました。ウェブサーバの設定を記述する.htaccessファイルユーザー名とパスワードを記述する.htpasswdファイルそれでは、これまでに作成した.htaccessファイルと.htpasswdファイルを使って、実際にBasic認証を使ってみましょう。About公式SNS日々の生活や仕事を楽しむための情報を毎日お届けします。