堅牢なフレームワーク/コード (RoR、Zend、Symfony、Django など) で使用されているものについてアドバイスをお願いします。
私は自分のユーザー管理システム (理解: ログイン、ログアウト、ユーザーがログに記録されているか、user_id、ユーザー名など) にシンプルで小さなフレームワーク (userCake) を使用しています。コードをリファクタリングして、iPhone/Androi/Js 用の API を使用しています。このコードを更新したいと思います。クラス、依存関係、クラスを再配置して同じプロセスを維持するだけなのか、それとも何かを変更する必要があるのか を知る必要があります。
現在のプレイ状況
ユーザーがサインインに成功したら、すべてのデータを取得してシリアル化し、sessionID を作成します。このセッション ID をユーザー Cookie に保存し、シリアル化されたすべてのデータを、セッション ID とデータをリンクする DB テーブルに保存します。
次に、私の Web サイトで、ページが要求されるたびに、ユーザーが Cookie/セッションに持っているセッション ID と一致するシリアル化されたデータを DB から取得します。次に、クエリを実行して、ユーザー名とハッシュ化されたパスワードがデータベースで一致し、ユーザーがまだアクティブであること (禁止または削除されていないこと) を確認します。私のAPIでも同じことが行われます(iphone、android、jsはsessionIDを提供する必要があります)。
セッション テーブルから期限切れのものを削除する cronjob があります。ユーザーがログアウトするときも同じです。データベースの行を削除し、ユーザーの Cookie をクリアします。
私が探している
もの 上で説明したことは、私には良さそうです。しかし、それは十分に安全ですか? ユーザー名とパスワードですべて問題がないことを確認するたびに、DB チェックを 2 回行う必要は本当にありますか? セッション テーブルのシリアル化されたデータを信頼することはできませんか?
有名なフレームワーク (Django、Rails、Symfony など) ではどのように行われているのでしょうか?