ID入力画面とパスワード入力画面が分かれた理由

IDまたはパスワードが違います

昔の認証が必要なサイトでは、ID(やメールアドレスなど)とパスワードを一つのフォーム上で入力させ、まとめて検証するスタイルのものが多かった。

そして、その際のエラーメッセージは「IDが登録されていません」「パスワードが違います」 といったものではなく、 「IDまたはパスワードが違います」のような表記のものが多かった。

これは、前者の場合は攻撃者に対して「そのアカウントは存在する」ということを知られてしまうため、それを防ぐためのものであった。

昔の認証は「アカウント特定」と「本人確認」を「意図的に」混ぜて扱っていたのだ。

しかしながら、現代においてはIDを入力させ、それが成功した場合にパスワードを入力させる、といったUIが主流となっている。

[-- 続きを読む --]

システム設計

システムを作る時

現代のシステム開発において、まず考えるべきは全体の責務分離である。

システムの複雑性は、個々の機能よりも、各要素の境界設計によって増大することが多い。 そのため、「どこから作るか」よりも「どこを間違えると致命的か」を先に考えた方が良い。

設計上の失敗が後工程に伝播しにくい順序は、概ね次の通りである。

  • 認証・認可
  • バックエンド
  • フロントエンド

以下、順に説明する。

[-- 続きを読む --]

Hello World

初めの一歩

久々に、Webサイトを弄ってみることにした。

ブランクがかなり空いていて、浦島太郎状態。

とりあえず、手探りでいろいろ試してみようと思う。

[-- 続きを読む --]