26
後でプレーンテキストを取得するために、ユーザーパスワードの保存に倫理的にどのように取り組みますか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私はますます多くのWebサイトとWebアプリケーションを構築しているので、ユーザーに問題が発生した場合(またはパスワードリンクを忘れた場合にメールで送信するか、電話など)私はこの慣習に対して激しく戦うことができ、実際のパスワードを保存せずにパスワードのリセットと管理支援を可能にするために、多くの「追加の」プログラミングを行います。 私はそれと戦うことができない(または勝つことができない)ときは、少なくとも何らかの方法でパスワードを常にエンコードして、少なくともデータベースにプレーンテキストとして保存されないようにします。ただし、DBがハッキングされた場合は、犯人がパスワードを解読するのにそれほど時間はかからないので、私は不快になります。 完璧な世界では、人々はパスワードを頻繁に更新し、多くの異なるサイト間でそれらを複製しません。残念ながら、同じwork / home / email / bankパスワードを持っている多くの人々を知っており、支援が必要なときに自由にそれを私に提供してくれました。私のDBセキュリティ手順が何らかの理由で失敗した場合、私は彼らの経済的破綻の責任者になりたくありません。 道徳的かつ倫理的に私は、たとえ一部のユーザーにとって、彼らがはるかに少ない敬意でそれを扱っているとしても、彼らの生計を保護する責任があると感じています。ソルティングハッシュとさまざまなエンコーディングオプションについては、多くの方法と議論の余地があると確信していますが、それらを保存する必要がある場合、単一の「ベストプラクティス」はありますか?ほとんどすべての場合、PHPとMySQLを使用しています。これにより、詳細の処理方法に違いが生じます。 バウンティの追加情報 これがあなたがしたいことではないことを知っていることを明確にしたいと思います、そしてほとんどの場合そうすることを拒否することが最善です。しかし、私はこのアプローチを取ることのメリットについての講義を探していません。このアプローチを取る場合に取るべき最善のステップを探しています。 以下のメモで、主に高齢者、精神障害者、または非常に若年者向けのWebサイトは、安全なパスワード回復ルーチンを実行するように求められると混乱する可能性があることを指摘しました。そのような場合、それは単純でありふれたものであると思われるかもしれませんが、一部のユーザーは、サービス技術者にシステムを手伝ってもらったり、電子メールで直接表示したりするなど、追加の支援が必要です。 このようなシステムでは、ユーザーにこのレベルのアクセス支援が与えられない場合、これらの人口統計からの減少率によってアプリケーションが妨害される可能性があるため、そのような設定を念頭に置いて回答してください。 皆に感謝します これは多くの議論の中で楽しい質問であり、私はそれを楽しんだ。結局、私は両方ともパスワードセキュリティを保持する(プレーンテキストまたは回復可能なパスワードを保持する必要がない)回答を選択しましたが、指定したユーザーベースがシステムにログインすることも可能にしました。通常のパスワード回復。 いつものように、さまざまな理由で正解としてマークしたい約5つの回答がありましたが、最良のものを選択する必要がありました。残りはすべて+1でした。みんな、ありがとう! また、この質問に投票したりお気に入りとしてマークしたりしたStackコミュニティの全員に感謝します。私は賛辞として100票を投じており、この議論が私と同じ懸念を持つ他の誰かの役に立ったことを願っています。