一部の情報を編集する前に、現在のパスワードを確認する必要があります。それをセッション認証情報と比較することが最善の方法であると思われますが、現在のパスワードは認証セッションに保存されていません。これを解決する唯一の方法は、ID でユーザーを検索し、現在のパスワードを取得して比較することですが、クエリが高すぎると思います。より良い方法はありますか?
質問する
68 次
1 に答える
3
最初に、あなたが望む方法で質問に答えるつもりはありません。代わりに、編集、削除などを行う場合は、ユーザーの「役割」または「権限」をエスカレートするための適切な基準についてお手伝いします。など。など。
セッションを使用してパスワードを保存しないでください。(ずっと、ずっと、ずっと!)
ユーザーの検索、パスワードの保存、ログイン、データベースでのクエリを実行するとき-これは、あなたが言うように「高価」ではありません。私は2000行以上(比較的小さい、本当に小さい...)のデータベースを持っていますが、汗をかくことなくそれを処理しています!
MD5、SHA[1,2] などの暗号的に破られたパスワード関数を使用しないでください。これらの関数は、パスワードの保存用に特別に設計されたものではありません。代わりに、Blowfish 暗号を使用する特定のBcryptの crypt 関数を使用します。これは、パスワードを適切に保管するために作成されました。
于 2013-05-19T15:44:51.847 に答える