0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Basic認証についてまとめてみました。

Posted at

はじめに

私がいる現場のシステムでは、検証環境にのみBasic認証が利用されております。
テストのために一部の画面やBLに対してこれをを外したりすることもあったので、
そもそもBasic認証(基本認証と呼ばれることも)とは何だろう?と思いまとめてみました。

Basic認証とは

Webサーバーで利用できる簡易的な認証方式で、
主にWebサイトの特定のページや階層に対するアクセスを制限するために利用します。
また、IDとpasswordを入力するだけで認証することができます。

Basic認証の特徴

  • Base64でエンコードして送信してやりとりする
  • Base64なのでセキュリティ的には弱い
  • .htaccess」と「.htpasswd」を作って、ログイン情報に関するコードをそれぞれに記述するだけで設定可能

よく利用されるシーンとしてはクライアントに公開目前のサイトや、
仲間内メンバーなどでしか使わない簡易的なサイトなどが多いようです。

メリット

  • ログイン情報がブラウザに記憶される
  • Cookie情報が残っている限りは認証が有効
  • アクセス制限がディレクトリ単位で可能
    ⇒特定の画像やPDFファイル、ビジネスロジックにかけることも可能です
  • ファイルを置くだけでも設定可能
    ⇒レンタルサーバーなどで利用制限がある場合はファイル作成自体ができないこともあるので注意

デメリット

  • セキュリティが弱い
    ⇒Base64でエンコードして送信しているので、データが暗号化されないままやり取りされます。
  • 同一サーバー内のディレクトリのみで複数のサーバーに横断することは不可
  • 検索で表示不能(クローラーもアクセスできなくなる)
    ⇒SEOとしての効果は期待できません。

Basic認証設定の流れ

認証をかけたいディレクトリに.htaccessファイルと.htpasswdファイルを作成します。

AuthType: 認証方式を指定
AuthName: 任意の認証名
AuthUserFile: .htpasswdファイルの場所
require: 認証範囲(valid-userですべてのユーザーに認証を表示させる)

.htaccess
AuthUserFile /home/hogehuge/.htpasswd
AuthName "input ID and Password"
AuthType Basic
require valid-user

IDとパスワードのセットで記載します。
複数行記載すれば、複数のID,passwordを使用可能です。

.htpasswd
userId:password

まとめ

これを設定する側としてファイルを作成したり修正することが今後あるかはわからないですが、
認証方式の1つとして理解することができたことはよかったと思います。
もしBasic認証についてざっと知っておきたい方がいらっしゃれば、
本記事を参考にしていただけると幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?