こんな会員制システムにはユーザー登録したくない（ID・パスワードの扱い/入力画面）

#はじめに

通販サイト（ECサイト）や出版系サイトなどで、ユーザー登録中に嫌になって登録をあきらめたり、セキュリティ面に不安を覚えて退会したことはありますか？私は何度もあります。
セキュリティ面（暗号強度など）に反している内容もありますが、ユーザーというものは概して利便性も重要視しますので...

#どんなことで嫌になったか？
##パスワード
- パスワードの最大長が短い。または固定長。
    - 最大8文字まで？今日日ありえませんね。認証NGですぐにロックがかかったり、二要素認証の一部で使うなら理解しますが。
    - 「8文字固定」などの酷い場合も。とくにルーターなどハードウエア製品に多い印象。
- パスワードに使える文字種が限定的。逆に記号・英大小文字・数字の全利用強要など「複雑な」パスワードを強いられる。
    - 文字種を増やすことが総当たり攻撃などに強くなることはわかりますが、複雑すぎると覚えていられないので...憶えていられなければ、メモ帳や付箋の登場です。漏えいしたとき、メモ帳に書いたあなたのせいです、とユーザーに責めを負わせますか？
    - 「もっと複雑なパスワードにしてください」しか警告表示されない場合もあります。何をもって「複雑でない」と主張しているのかわかりにくいです。
- 過去に使ったパスワードが使えない。
    - ポイントカードで財布が膨らむがごとく、IDやパスワードをそんなに何種類も憶えていられませんね。

- 「母親の旧姓は？」などのリマインド用質問
    - まず、ひらがなと漢字とどちらで入れたのかまで憶えていなければならないことで精神的苦痛です。
    - 個人情報入力を強要させられるのは気持ち悪いです（DBではハッシュされているかもしれませんが）本当の内容を登録する必要はないのですけれども、情報システムに詳しくない方には発想できないと思います。
    - 機微な事柄に関する質問選択肢を見て不愉快になる人もいると思います。

- パスワードリマインドで、登録したパスワード平文がメールで送られる
    - ソルト＋ハッシュしないでDBに保存するなんぞ、今日日ありえないです。パスワードは複数サイトで共用しないで、とは啓蒙はされますが、完全にユニークなパスワードを沢山憶えて使い分けられる人は少ないと思います。それゆえ一か所からでも漏えいしたら、芋づる式に他もクラックされてしまう人もいるでしょう。
    - IDも併記されていたりすると最悪です。

共通の文字列＋サービスごとの文字列、など、組み合わせで複数のパスワードを作成している方も多いと思います。
クラッカー界ではそのようなことは周知でしょうから、万一ひとつでも漏えいしたらそのパスワードの部分文字列から推測されるでしょう。
部分文字列ばかりか意味的にも法則性・共通性のない（辞書攻撃にも耐える）パスワードを、10個もソラで覚えられる方は少ないと思いますよ。
⇒ 結論としては、二要素認証や別の認証方法が流行って、パスワードオンリーの認証方法が廃れてくれることを願います。

##ID
- IDを変えることができない。
    - とくに「メールアドレス = ID」としているシステムの場合、使用しているメールアドレスが変わったとき[^1]、情報の引き継ぎに困ります。ユーザーからの問い合わせ対応が増えて、運営側も困るでしょうね。
    - 黒歴史的なIDをつけてしまったりすることもあるのです。
    - 「ようこそ＊＊＊さん」表示をどうしてもしたいなら、ID ではなくせめて随時変更できる「表示名」（ニックネーム）を設けてそれを表示してほしいです。掲示板のような SNSの場合は、頻繁に表示名を変えられると他のユーザーが混乱したりするので変更の許容頻度の調整も必要ですね。

##属性
- メールアドレスのドメイン名が固定
    - ケータイアドレスを強要させる目的の件です。NVMO隆盛時代、今日日意味があるのでしょうか？
- 住所にフリガナが必要（コメントありがとうございます）
    - 役所や準役所系の書類でも当たり前のようにあったりしますが、確かに何のために要るのでしょうかね？氏名が読めなくて困るのは理解できますけれども、配達のプロが住所を完全に読めないことで困ることがあるのでしょうか。
    - アルファベットや数字を含む場合、どこまで入力すれば運営者さんは気が済んでくれるのでしょうか？
    - 国外も商圏に入っているなら尚のことでしょう。

##登録UI
- ブラウザで「戻る」をすると、入力した内容が消えている。
    - ブラウザからいくつか入力＆画面遷移後、最後のチェックで間違いを指摘されて何ページも前の先頭に戻され、しかも入力してきた内容が消えていたりすると最悪です。「戻るボタンで戻さないでください」と書かれていても、ついクリックしてしまうことはあります。
- 意味のうすいドロップダウンリスト。
    - 都道府県項目入力で、沖縄や九州四国の人は数ミリくらいは通販が嫌いになったりするのでは？郵便番号から検索したり、テキストへの部分入力から都道府県名を補完したりできないものでしょうかね...
    - 年月日指定も面倒です。和暦・西暦の判断を含めて、ある程度自由記載にして正規表現で抜き出してもらえませんかね...

- セッション有効時間が数分。
    - トイレ、上司の呼び出し、途中の長電話対応ができないですね。

- httpsではなくhttp
    - 登録に関するセキュリティ面はもとより、システム全体への投資もないがしろにしているように映ります。

- 読みづらいCAPTCHA 
    - これのせいで登録や投稿を諦めた方は結構いると思いますよ。

- 入力フォーマット強要
    - 「半角で入力してください」とか「ハイフン不要」（ただし、そう書いてあってもハイフンを受け付けて自動除去してくれる優秀なものもあり）、半角だとか判断できているなら、システム内で変換してもらえないものですかね？そういう方法がわからない、能力の低いプログラマなのかな...

- 入力エラーがひとつずつ報告される
    - Submitするとエラーがひとつ。それを修正してSubmitしたらまたエラーが表示されて、の繰り返し。一度にすべてのエラーを表示してもらいたいです。

- 入力項目でのエラーがあると、正しく入力するまでその項目から抜けられない

- カレンダーUI
    - 項目にもよります。誕生日など、何年も前へ画面を送る手間は面倒くさいので、手入力させてほしいです。

- 選択肢がひとつのオプション（ラジオ）ボタン
    - チェックボックスなら理解できます。使えない項目がDISABLEDになって結果的にひとつだけの選択になったオプションボタンなら、最初から選択させてみては？（他の項目の入力内容に応じて動的に変わる場合は、混乱するので却ってやめておいてほしいかもしれませんが）
    - オプションボタンとは違いますが、郵便番号から住所候補を表示させる類の画面で、候補がひとつしかないのにその候補をクリックさせるのははんかくさいです。むしろ、仮に候補が複数あったなら、共通部分だけ補完してくれれば（丁目などまで補完してくれなくても）御の字です。

- 電話認証とSMS認証
    - 法人利用のとき面倒です（尤も、逆手にとって自然人登録を強いることもできます）代表電話？スマホ？個人のスマホは使いたくないです。転職・退職することもありますから。
    - ちなみに、ECサイトなどで法人利用を意識していないところがいまだに結構ありますが（法人名、部署名項目がないなど）、意図があってそうしているのですかね？振込名義が違う、領収書の発行、などで、場合によっては会社で購入したことをいちいち説明しなくてはならない？

##利用画面
- ID や表示名が操作画面にずっと表示される
    - IDもアカウント情報の一種です。パスワード間違いでロックがかかるシステムの場合、IDが漏れたら、Dos攻撃される脆弱性につながります。
    - ショルダーハックされるかもしれないし「ようこそ＊＊＊さん」など、余計なお世話と言いたい（かも）。一部の文字を伏せたり、ログイン状態をアイコンの色で表現するなど、別の方法で表現できませんかね...モバイル機の画面にプライバシーフィルタを貼っても、端っこは見えやすいのですよね。（尤も、プライバシーフィルタは利用者の真後ろには無意味ですけれども）

#改善案
- メールアドレス誤入力をふせぐ二度打ちのかわりに、最初にメールアドレスだけを入力させて（もしくは、特定のメールアドレス宛に空メールを送信させて）折り返し本登録URL（有効期間あり）をメール通知する。
- 「パスワードは暗号化されて保存されます」など一文があると安心。
- 希望したIDがすでに登録されていて利用できない場合、候補を表示してくれる機能は便利。ただ、パスワードについてそれをされると、クライアントサイドで実際に生成されていたとしても不安かな...
- 入力項目の内容に応じて、日本語IMEの入力文字種が自動で切り替わってくれると便利で嬉しい。
- 入力カレットのある項目、必須の入力項目などに色がつくと入力しやすい。
- 入力途中から入力内容がOKかNGか、併記してくれると安心・楽。
- 入力項目を等幅フォント・大きめのフォントサイズにしたり、入力内容を拡大表示されたりしていると入力しやすい。
- 入力項目へのフォーカス移動時は、すでに入力した内容を全選択してほしい。DELキーや再入力で前回の入力を全消去できるので。
- 登録完了前、ブラウザを閉じても再入力できるよう、期限付きクッキーで保存＆復元してくれると親切。
- 登録完了時は、メールで通知していただけると安心。
- なんだかんだ、チャットや電話の窓口があると安心。

#おわりに
まともに作りこむ手間がかけられないなら、出来合いのものを使ったり、その類に慣れた他人にコーディングを任せたりしてもらいたいものです、ユーザー側としては。
システム選定者の方にあっては、上記ぜひご検討いただきたいです。

#注釈
[^1]: ISPやケータイキャリアを変えることはありますよね...