パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

暗証番号として絵文字を使うオンラインバンキング」記事へのコメント

  • これが許されるなら漢字パスワードもありでは

    Unicodeで文字種を制限してなけりゃ当然、漢字も受け付けるし、ハッシュ化してりゃ元の文字も関係ないので、海外でも既に(意図せず)利用可能になっているサイトはありそうな気がする。
    そして未テストで使えているだけだと、いつか突然利用不可になるパターンが嫌だ。

    • Unicodeで文字種を制限してなけりゃ当然、漢字も受け付けるし、ハッシュ化してりゃ元の文字も関係ないので、海外でも既に(意図せず)利用可能になっているサイトはありそうな気がする。
      そして未テストで使えているだけだと、いつか突然利用不可になるパターンが嫌だ。

      海外のサイトでは、確かに(意図せず?)漢字のパスワードを受け付けるサイトが結構あるようです。一方、日本のWebプログラマーは過剰バリデーション脳に汚染されている人が多いせいか、残念なことに、日本では漢字のパスワードどころか記号すらまともに受け付けないサイトが大半です。

      過剰バリデーション脳の歴史は古く、CGI が設置可能なレンタルサーバーが増えてきて、Perlでプログラミングをするのが流行しだした2000年頃に書かれたフリーCGIも、大半が正規表現で過剰に入力内容をバリデーションしていました(それでいて脆弱性だらけでしたが)。そして、何らかの脆弱性が発見されたら根本的な対策を行わずによりバリデーションを強化して入力可能な文字を制限するといった悪循環に陥っている気がするのです。最近でも、ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション [ohgaki.net]なんていうものが持て囃されているようですし。

      過剰バリデーションの何が行けないかというと、パスワードに記号が使えないことにより安全性が低下したり、「いちご100%」といった記号を含む書籍名の検索や「hogehoge+test@example.com」というメールアドレスが使えないことによって利便性が低下したりするからです。

      Gmail だとメールアドレスの最後に "+hoge" と任意の文字列を追加することにより用途毎にメールアドレスを分けて自動整理することができますが、日本のWebサービスの大半は「+」が含まれているというだけで「メールアドレスが不正です」といったエラーを返す残念な仕様になっており、その便利な機能を使うことすらできません。どうやら、メールアドレスに使用できる記号を「-」「_」「.」「@」に限定するバリテーションが大流行しているようです。

      技術者の中にも「RFC5322 では、メールアドレスに、ドットとアンダースコアは2つ以上連続させてはならないとされている」といった都市伝説を未だに信じている人が結構いるようですので、「"!#$%&'*+-/=?^_`{|}~\"\\.."@example.com」という RFC上正しいメールアドレスが正常に処理されるようになる日は永遠にこないような気がします(「メールアドレスのルール」系まとめがそろって間違ってるのでご注意を [hatenablog.com])。

      親コメント

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

処理中...