泣き虫の備忘録

等身大の日常をつづります

【HTML5】Basic認証について

お疲れ様です

ひなみです

 

HTML5の勉強会です

 

教材↓

認証機能だよ

IDとパスワードで認証するよ

HTTPにあらかじめ用意されている仕組みだよ 

Basic認証とは、HTTPに元々用意されている「IDとパスワードを入れてね」画面を出す認証機能(のひとつ)。

 

HTTPのルールを決めた人は「認証機能があった方が便利だよね?」と考えました。

 

そこで「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」なルールをHTTPに組み込んだのです。

 

この

 

HTTPで定義されている「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」な認証機能が「BASIC認証」です。

 

BASIC認証のやり方として一般的なのは

特定の内容を書いた「とあるファイル」をフォルダの中に置くやり方

でしょう。


特定の内容を書いた「とあるファイル」をフォルダの中に置くことで、そのォルダの中(のファイル)を見ようとすると「IDとパスワードを入れてね」な認証画面が表示されるようになります。

 

「とあるファイル」の名前は「.htaccess」という名前にするのがルールです。

とあるファイル「.htaccess」の中に書く「特定の内容」は

 

AuthType Basic
AuthName "【認証画面の名前】"
AuthUserFile "【IDとパスワードを書いたファイル「.htpasswd」の場所】"
require valid-user


ですが、IDとパスワードを書いたファイル「.htpasswd」の中身の書き方が少し特殊です。


パスワードは暗号化して書く必要があるのですが、そこまで触れるとややこしくなるので、今回は触れません。
気になる方は他のところで情報を補完してください。

BASIC認証のメリットは、お手軽なことです。
ファイルを置くだけですからね。
簡単です。

一方のデメリットは、セキュリティの強さです。
「ベーシック」というくらいなので機能としては必要最低限です。
セキュリティ的にも、しょぼいです。

そのため、本格的に認証をかけたいときには、あまり使いません。
お金をいただく会員制のホームページやそれなりの規模のホームページでは、あまり見かけないと思います。

 

うーん。わかったようなわかってないような。

つまりはHTTPで実装されている認証方法の一つ、でめっちゃ使われてるからBasic。

 

でも問題集にある

ブラウザでユーザ名・パスワードをBase64化したうえでAuthorizationヘッダに付加してWebサーバに送信します。

が知らん単語多くて訳わからん。

 

と、言うことで

Base64

データの変換方式だよ

データを64文字の文字(a~z、A~Z、0~9、+、/)と「=」で表現するよ

メールの添付ファイルの変換で、よく使われるよ

ふむふむ。

2進数とかそういう感じか。

メールの添付ファイルを変換するときによく登場するエンコード方式
エンコードは「データを他の形式へ変換すること」です。

ふむふむ。

翻訳(変換)した結果の言語がBase64、と。

 

認証ヘッダ(AH)

認証に関する通信プロトコルだよ

IPsecの話で出てくるよ

AH」と表現された場合は「Authentication Header」の略だよ

IPsecの仕組みでは「認証」という要素が登場します。
IPsecでゴチャゴチャやるときには何かが何かを認証する瞬間があるのです。

認証ヘッダは、この「認証」に関するあれやこれやです。

認証に関するあれやこれや。ほむ。

 

つまり

ブラウザでユーザ名・パスワードをBase64化したうえでAuthorizationヘッダに付加してWebサーバに送信します。

ブラウザでユーザ名・パスワードを、メールとかで使う言語に変換した(Base64化)したうえで認証をあれやこれやして(Authorizationヘッダに付加して)Webサーバに送信します。

ってことか。

 

まあこれならなんとなくわかる。

及第点。

 

で、ユーザー名・パスワードをハッシュ値化(改ざん検出)をしないので

wa3.i-3-i.info

HTTPS通信でパンツを履かせた方がをよいと。うむ。

 

今日は眠いしこんなところにするか。