ベーシック認証
認証機能だよ
IDとパスワードで認証するよ
HTTPに あらかじめ用意されている仕組みだよ
簡単に書くよ
ベーシック認証(読:ベーシックニンショウ 英:basic authentication)とは
ホームページのファイルを受け渡しするときに使うお約束である「HTTP」に元々用意されているやつで「IDとパスワードを入れてね」な画面を出す認証機能(のひとつ)
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・認証
・通信プロトコル(プロトコル)
・HTTP
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
認証は「おまえ誰?OKなやつ?」を確認する作業です。
例えば
・本人しか知らない情報を入力させる
・本人しか持っていないものを提示させる
・接続元の情報を見る
のような過程を経て、OKな人かNGな人かを判定します。
※厳密には「認証+認可」の説明になっていますが気にしないことにします。そこら辺が気になる方は、用語「認可」の説明を ご覧ください。
通信プロトコル(プロトコル)は「通信するときに使う お約束事」です。
通信するときは足並みを揃える必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。
そこで「○○通信をするときは ××というお約束事に従って やり取りしようね」と事前に決まっています。
言い方を変えると
通信するときは、お約束事が必要
なのです。
この「通信するときに使う お約束事」を「通信プロトコル(プロトコル)」と言います。
HTTPは「ホームページのファイルを受け渡しするときに使う お約束事」です。
よく分からない人は「インターネットをするときに使う お約束事」と解釈しても かまいません。
あなたがホームページを見るとき、まず、ホームページを見るときに使うソフト(Webブラウザ)がホームページのファイルが置いてあるコンピュータ(Webサーバ)に「このページをおくれ」と お願いを出します。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
この流れにおける「このページをおくれ」「ほれ、そのページだよ」のやり取りで使う お約束事がHTTPです。
以上を踏まえて、本題に入ります。
HTTPのルールを決めた人は「認証機能があった方が便利だよね」と考えました。
そこで「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」なルールをHTTPに組み込んだのです。
この
HTTPで定義されている「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」な認証機能
が「ベーシック認証」です。
ベーシック認証のやり方として一般的なのは
特定の内容を書いた「とあるファイル」をフォルダの中に置くやり方
でしょう。
特定の内容を書いた「とあるファイル」をフォルダの中に置くことで、そのフォルダの中(のファイル)を見ようとすると「IDとパスワードを入れてね」な認証画面が表示されるようになります。
「とあるファイル」の名前は「.htaccess」という名前にするのがルールです。
とあるファイル「.htaccess」の中に書く「特定の内容」は
AuthType Basic
AuthName "【認証画面の名前】"
AuthUserFile "【IDとパスワードを書いたファイル「.htpasswd」の場所】"
require valid-user
ですが、IDとパスワードを書いたファイル「.htpasswd」の中身の書き方が少し特殊です。
パスワードは暗号化して書く必要があるのですが、そこまで触れるとややこしくなるので、今回は触れません。
気になる方は他のところで情報を補完してください。
まとめると
1.(「.htpasswd」を用意した後)「.htaccess」に あれやこれやと書く
2.認証をかけたいフォルダに「.htaccess」を置く
3.「.htaccess」を置いたフォルダにアクセスするときに認証が必要になる
のがベーシック認証のやり方(のひとつ)です。
※他にも「httpd.confに書く」とかのやり方があります。
ベーシック認証のメリットは、お手軽なことです。
ファイルを置くだけですからね。
簡単です。
一方のデメリットは、セキュリティです。
「ベーシック」というくらいなので機能としては必要最低限です。
セキュリティ的にも しょぼいです。
そのため、本格的に認証をかけたいときは、あまり使いません。
お金をいただく会員制のホームページやそれなりの規模のホームページでは、あまり見かけないと思います。
例えば
・公開前のホームページを知らない人に見られたくない場合
・見られても そこまで困らないけど、できれば見せたくないページ
・手間は かけたくないけど、気休めでもセキュリティを上げたい場合
などに使われる認証のやり方です。
一言でまとめるよ
まぁ「ベーシック認証」って単語が出てきたら「インターネットに元々用意されている認証機能なんだな~」と お考えください。
おまけ
■訳してみるよ
「basic(ベーシック)」の意味は「基本」とか「基礎」とか「初歩的な」とかです。
「認証」は日本語ですね。
何となく くっつけると
基本の認証
となります。
■違いの分かるピヨピヨ
■検索してみる?






