質問: webアプリケーションでのユーザーアクセスとパスワード処理の使いやすさとセキュリティ? 改ざんされたくない個人データを扱う一般ユーザー向けのウェブサイトを構築しようと思っています。どのようにしてサイトを安全にするだけでなく使用可能にすることができますか?ほとんどのサイトでは、かなりよく理解されているユーザー識別子(電子メールアドレスが最適のようです)とパスワードを使用しているようです。一部の銀行サイトでは、pinまたは標準の識別子に続くセキュリティの質問、またはパスワードの置き換えによってこれを超えています。この点で成功したことが証明された他の選択肢について知りたいと思います。また、アカウントの詳細をフィッシングすることを困難にするために、ユーザーが特定されたら、ユーザーが自分のカラースキームを選択したり、サイトのルックアンドフィールを許可したりすることも聞いています。これを使用しているサイトと、それがどれだけうまく機能するかを知っている人はいますか?ほとんどのシステムの本当の弱点は、パスワードのリセット機能にあるように思えます。ユーザーは常にパスワードを忘れているため、ここでユーザーを支援するための何かが必要ですが、役立つものと恐ろしく安全でないものとのバランスを取るのは本当に難しいようです。ここでも、ユーザーのセキュリティの質問のアプローチが広く使用されているようですが、私が遭遇したこの2つの側面は、ユーザーが設定して回答を提供する質問を持っているか、ユーザーに関する不変の質問を持っています。ユーザーから提供された質問では、これが非常に重要であるとユーザーに伝えようとしても、「1 + 1とは」という質問をしないとは思わない。不変の質問では、単純な事実ではなく、物事についてユーザーの意見を求めている場合、彼らは変化する可能性が高くなります-それらは、実際には非常に簡単に見つけられるようなもの(親のファーストネーム、ファーストペット)に変わる傾向がありますユーザーを攻撃のターゲットにしている場合はアウトします。安全なものと使いやすいものの間には常に妥協点があると思いますが、ほとんどのサイトが今よりもうまくできるはずです。ユーザーアカウントのセキュリティに対して、従来型ではないが信頼性の高いアプローチを提案できますか?画像グリッド、カスタムキャプチャなどの話を聞いたことがありますが、実際にこれらの経験はありますか?これを特にうまく管理しているサイトはありますか、そしてどのように/なぜそれらが機能するのかを示しているなら?
回答: 正直に言うと、厳密にプログラミングの観点から答えを誤って入力する可能性があるため、プログラマとしての個人的な質問/回答のセキュリティ手順はあまり好きではありません。彼らの答えが名前だった場合はどうなりますか?しかし、名前全体を入力したのか、短い名前だけを入力したのか、単に自分の名前だけを入力したのか、アポストロフィを忘れて気づかないのです。一方、(さまざまな種類の)キャプチャには白黒の答えが必要です。有効か無効か。そうは言っても、キャプチャの読みやすさはユーザーに問題を引き起こすことがあります。ほとんどは読み取り可能ですが、一部は文字化けします。パスワードをリセットするときに電子メールの検証を要求する方法は、私にとっては常にかなり安全であるように思われます。アクセスするにはsecondシステム(私のメールアカウント)のログイン詳細を知っている必要があるからです。新しいパスワードを要求するサイトへのリンクback。