ログインシステムを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認証…?」
上司「ググれ」
となったので、少し調べてみました。
めちゃ簡単でした。