- 技術・テクノロジー
ベーシック認証を解説!用途や設定の方法も紹介します!
Webサイトにパスワードを設定する基本的な方法として、ベーシック認証があります。難しそうな用語ですが、設定方法は簡単です。今回は、ベーシック認証とは何か、また、ベーシック認証の用途やその設定方法、必要なファイルの役割までを分かりやすく解説します。

目次
ベーシック認証って何?

ベーシック認証とは、Webサイトに「IDとパスワード」の鍵をかけるための機能です。
設定手順は、2つのファイルを作成するだけ。非常に手軽なパスワード設定ですが、セキュリティとしては弱いものだと意識しなければなりません。
とはいえ、サイトの閲覧を限定したい場合には有効な手段です。
一次的に制限をかける手段としては十分でしょう。
ユーザーが有料でアクセスするサイトや、資産管理をするようなサイトに対してはおすすめできません。
ベーシック認証の有効範囲
サーバー内で「.htpasswd」が配置されたディレクトリ配下が認証設定の範囲です。
つまり、ディレクトリ単位で鍵を掛けることが可能です。
また、一度ログインした場合、ブラウザを終了するまでアクセス許可状態が続きます。
ベーシック認証の用途

セキュリティの低いものですが、以下のような用途には有効だと言えるでしょう。
・公開前のWebサイト
・無料会員限定のWebコンテンツ
・検索されたくないWebコンテンツ
公開前のWebサイト
公開前のWebサイトが、不具合や文言のチェックなどを行う前に閲覧されるのは好ましくありません。
正式リリース前のWebサイトは、開発サーバーで構築し、本番サーバーへアップロードしますが、本番サーバーでの動作確認も必要です。
動作確認テストが終了するまでは、他者からのアクセスを防いでおくことで不完全なページをみられずにすみます。
無料会員限定のWebコンテンツ
希望者だけに公開する、いわゆる会員限定のWebコンテンツにも有効です。
限定情報を掲載しているWebコンテンツが誰にでも閲覧できては困りますよね。
しかし、ログイン認証のために複雑な技術を導入するのも手間がかかります。
設定も簡単ですし、アカウント作成にも手間がかかりません。
ただし、有料会員サイトなど、不正アクセスされたらユーザーに不利益になるサイトには、セキュリティレベルの高いものを採用しましょう。
検索されたくないWebコンテンツ
Webコンテンツにベーシック認証をかけておくことで、検索エンジンのクローラーを拒否できます。
個人だけで利用するコンテンツ、あるいは限定的なメンバーだけで利用するサイトは、Googleなどの検索エンジンに公開する必要はありませんよね。
クローラーを拒否することで検索エンジンにインデックスされず検索結果一覧に表示されることを防ぎます。
ベーシック認証の設定方法

それではここから設定方法を見ていきましょう。
やり方は簡単で、「.htaccess」と「.htpasswd」の2つのファイルを作成し、サーバーにアップロードするだけです。
パスワードを設定する方のファイルを対象のディレクトリに置くことで、ディレクトリ配下にある全てのファイルがアクセス制限対象となります。
ファイル名の先頭にある「.」は、隠しファイルを表します。
認証設定のファイルは基本的に、隠しファイルとしておくことで、できる限りセキュリティを高めます。
事前に確認しておく情報

事前に以下2つのことを確認しておきましょう。
・ 鍵をかけたディレクトリのパス
・「.htaccess」と「.htpasswd」ファイルの有無
・パスワードの暗号化方法
鍵をかけるディレクトリのパスは、「.htaccess」ファイル内の設定で使います。
また、すでにファイルがある場合には、上書きしてもよいものかどうかを確認しておきましょう。
「.htpasswd」ファイルには、ユーザーID・パスワードを記載しますが、パスワードは平文ではなく暗号化したものを入力しますので、パスワードを暗号化してくれるサイトなどを用意しておきましょう。
・パスワード生成ツールなど。
1.「.htaccess」ファイルを作成する
どのようなタイプの認証を、どこに施すかを設定するファイルです。
また、認証画面に表示されるメッセージも指定できます。
設定内容
ファイル内の設定内容は以下です。
AuthType:認証のタイプ
AuthName:表示されるメッセージ(設定領域の名称)
AuthUserFile:「.htpasswd」ファイルのフルパス
require:認証画面を表示させるユーザーを指定
一つずつ見ていきましょう。
■AuthType
ここでは、認証のタイプを設定します。
認証のタイプには、「basic」と「digest」がありますが、ベーシック認証の場合は「basic」という文言を設定します。
設定例:AuthType basic
■AuthName
ここでは設定領域の名称を設定します。
認証をかけたページにアクセスしたとき、ID・パスワードを求める画面に表示されるメッセージです。
ここで設定するメッセージは、日本語よりも英語を使用した方がよいでしょう。
日本語でも問題ありませんが、文字コードによっては文字化けを起こしてしまいます。
設定例:AuthName “Please enter your ID and password”
■AuthUserFile
ベーシック認証をかける場所をフルパスで設定します。
フルパスとは、ルートディレクトリからファイルまでのパスです。
ここでパスを間違うと、上手く設定することができないので注意しましょう。
設定例:AuthUserFile 【ルートディレクトリからのフルパス】/ .htpasswd
■require
ここでは、認証画面を表示させるユーザーを指定します。
「valid-user」とすることで、アクセスしたすべての人に認証画面を表示させます。
設定例:require valid-user
2.「.htpasswd」ファイルを作成する
このファイルは、ベーシック認証をかけたいサイトのディレクトリに配置します。
配置したディレクトリ配下にある全てに反映されます。
設定内容
ファイルの設定内容は、ユーザーIDとパスワードだけです。
ユーザーID:パスワード
左にユーザーIDが記載され、右側にパスワードが記載されます。
パスワードは平文(読める状態)で記載するのではなく、暗号化したものを設定しましょう。
パスワードの暗号化には、以下のようなサイトを使うと便利です。
・http://www.luft.co.jp/cgi/randam.php
設定例:User1:74sLcRZFIVlqU
3.作成したファイルをディレクトリに置く
ファイルを作成したら、FTPツールなどを使って、サーバーにアップロードしましょう。
「.htpasswd」ファイルは、必ず対象となるWebサイトが置いてあるディレクトリに配置してください。
また、配置する場所のフルパスが、AuthUserFileに設定したものと一致していることを確認しましょう。
もともと、サーバーのディレクトリ上でファイルを作っている場合には、ファイル移動の必要はありません。これで、完了になります。
Webサーバー(Apacheなど)を再起動することで、反映されます。
4.ページにアクセスして確認する
ファイルの作成および設置、Webサーバーの再起動が完了したら、対象のページにアクセスして確認しましょう。
正しく上記に記載した方法で設定されていれば、IDとパスワードの入力画面が表示されます。
ベーシック認証を利用するときの注意点

この認証方法はあくまでも基本的なセキュリティで、仕組みを知っている人ならば、勝手に設定を変更することも可能ですので、セキュリティ的には非常に弱いことを理解しておきましょう。
また、ベーシック認証で設定する「.htpasswd」ファイルでは、必ず暗号化したパスワードを記載してください。
ベーシック認証とダイジェスト認証の違い

Webサイトへの認証方法には、「ダイジェスト認証」という物もあります。
この2つの違いは、通信の暗号化です。
ベーシック認証では、入力されたIDとパスワードは、暗号化されずにサーバーへ送信されます。
万が一、不正アクセス目的のサーバーなどを経由した場合には、送受信されるIDとパスワードが丸見えになってしまいます。
一方、ダイジェスト認証では、IDとパスワードが暗号化されてサーバーへ送られるので、通信に対するハックには強いという特徴があります。
ダイジェスト認証では、ブラウザ(ChromeやSafariなど)とサーバー間で暗号化した通信を行います。
昔は、ブラウザがダイジェスト認証に対応していない場合があるという理由で、ベーシック認証が主流でした。
しかし、現代ではほとんどのブラウザが対応していますので、ダイジェスト認証を利用した方が良いでしょう。
まとめ

ベーシック認証は簡易的な方法なので仕組みを知っている人なら、「.htaccess」や「.htpasswd」を書き換えることは可能ですし、入力されたIDやパスワードの送受信では、暗号化すらされません。
あくまでも、一時的なセキュリティとして利用するにとどめましょう。
関連記事
- 技術・テクノロジークリーンテックとは何か解説!クリーンテックでエネルギー産業はどう変わる?スタートアップ企業も紹介!
- 2020年10月12日
- エネルギー産業
- クリーンテック
- スタートアップ
- 企業
- 解説
- Web・ゲームインフルエンサーマーケティングについて解説!仕組やステマとの違いは?
- 2019年11月27日
- インフルエンサー
- ステマ
- マーケティング
- 解説
- 違い
- 技術・テクノロジーブロードバンドとは??種類とその違いについて分かりやすく解説!
- 2019年11月5日
- ブロードバンド
- 種類
- 解説
- 違い
- 転職活動株式会社じげんのビジネスモデル分析!最新技術による旅行情報の最適化に迫る【トラベルテック企業に転職】
- 2020年11月23日
- トラベルテック
- ビジネスモデル
- 株式会社じげん
- 転職
- 技術・テクノロジーPoCを解説!言葉の意味や、その効果についてわかりやすく紹介
- 2019年11月30日
- PoC
- わかりやすく
- 効果
- 意味
- 紹介
- 言葉
- 技術・テクノロジーロボットの種類について知ってる?家庭用ロボットから産業用ロボット、AIロボットまで幅広くご紹介します!
- 2019年2月13日
- AIロボット
- ロボット
- 家庭用ロボット
- 産業用ロボット
- 種類
- 技術・テクノロジー【徹底解説】暗号化技術とは?「共通鍵暗号方式」「公開鍵暗号方式」「ハイブリット暗号方式」について解説!
- 2019年11月29日
- デメリット
- メリット
- 公開鍵暗号方式
- 共通鍵暗号方式
- 徹底解説
- 暗号化技術
- 技術・テクノロジートランステック(TransTech)とは?アフターコロナに必要とされる訳を知って転職を有利に進めよう
- 2020年9月11日
- TransTech
- アフターコロナ
- トランステック
- 転職
- 技術・テクノロジーライブコマースの成功事例を紹介!市場規模や導入のメリットは?国内外の事情をもとにエージェントが解説!
- 2020年12月22日
- ライブコマース
- 国内外の事情
- 導入のメリット
- 市場規模
- 成功事例
- 技術・テクノロジーデジタルシフトの事例について解説!企業の取り組みや今後のマーケティング戦略は?転職エージェントが紹介
- 2020年12月15日
- デジタルシフト
- マーケティング
- 事例
- 取り組み
- 戦略
- 転職
- 転職エージェント