.htaccessによるBasic認証
ログインシステムを5分で実装しろ
え、無理ですよ、そんなの
データベースにテーブル作って…
パスワードはハッシュ化して…
フォームやクエリからの攻撃を防いで…
え?今回はごく一部の人が使うシステムだから
セキュリティはガバガバでも良い?
じゃぁ、できます
basic認証とは
Base64という暗号形式を利用したログインシステムで
.htaccessにちょいちょいと記述するだけで完成する。
でもセキュリティは弱い。
どうやって作るの?
まずは.htpasswd
というテキストファイルを作成し
その中にユーザーのID:Base64で暗号化されたパスワード
という感じに書く。
例えばユーザーIDはtadanohito
、パスワードはhimitudesu
だったとする。
このユーザーIDとパスワードをBase64で暗号化するとd31esqz2hqswU
となる。
(Base64の暗号化は無料のwebアプリがあるので、それを利用すると良い。)
その場合の記述は
tadanohito:d31esqz2hqswU
となる。
もしユーザーを増やしたいなら、改行して追記していくだけで良い。
そしたら.htaccess
ファイルに
AuthUserfile /admin/system/.htpasswd
AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
と記述する。
それぞれ解説をすると
AuthUserfile
.htpaccessのあるパスを書く。
AuthGroupfile
グループファイルのあるパスを書く
のだが、グループファイルなど作らなくても良いので
/dev/null
と書けば良い。
AuthName
認証時に表示する文字列を書く。
日本語で書くと文字化けする可能性が高いので
英語で簡単に書くと良い。
AuthType
認証方法を書く。
Basic
とDigest
のどちらか選択出来て
Basic
の場合はパスワードをBase64で暗号化
Digest
の場合はパスワードをMD5で暗号化
しなければならない。
require
認証を通すユーザー名を書く。
valid-user
と書くと全員が通る。
user ユーザー名
と書くと、そのユーザーしか通らなくなる。
サーバーに2つのファイルをアップロードして完了
プログラミングすることなく、これでログインシステムの完成!
多分カップラーメン茹で上がるより早く完成する。
編集後記
入社5日目
今日から管理システムページを0から作ることになって
そのログインシステムをbasic認証で実装しました。
上司「basic認証で良いよ」
僕「basic認証…?」
上司「ググれ」
となったので、少し調べてみました。
めちゃ簡単でした。
Author And Source
この問題について(.htaccessによるBasic認証), 我々は、より多くの情報をここで見つけました https://qiita.com/s4kd0R/items/5426d45e0d2e51f90879著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .