簡単に言えば、私は社内のレポート エンジンを開発しています。これは完全に Web ベース (PHP およびさまざまな AJAX 技術を使用) であり、MySQL データベースに格納されたデータを弊社の製品ソフトウェアによって解釈します。これは Ubuntu 8.04 サーバーで実行され、すべての従業員がそのマシンで Linux ユーザー アカウントを持っています。pam_auth を使用して、ユーザーに Linux ユーザー アカウントでのログインを強制し、特定のレポートにアクセスするための適切なグループに属しているかどうかを判断するログイン システムをセットアップしました。
その部分はうまく機能します。ここでの問題は、Cookie を使用して「私を覚えている」機能を追加することです。ユーザーが時間を節約し、セッションが期限切れになるたびにログインしなければならないという煩わしさを軽減するために、ユーザーが 30 日間の Cookie を持っていることを望みます。コードの「remember me」部分を書きましたが、Cookie は問題なく保存されます。ユーザー名とパスワードの md5 ハッシュのみを保存しています。ここでの問題は、それらを再認証するときです。通常は、保存されたユーザー名をデータベースから取得したそのユーザーのパスワード ハッシュと比較することで、単純にこれを行います。複雑なのは、ユーザー名とパスワードのハッシュに直接アクセスできないことです。それらはすべて /etc/passwd および /etc/shadow に保管され、ログインは PAM モジュールによって処理されます。pam_auth は、プレーン テキストのユーザー名とプレーン テキストのパスワードを想定しています。
私の唯一の選択肢は、パスワードをプレーンテキストとして保存するか、可逆的な暗号化を使用することのようですが、私はこれらのアイデアのどちらも特に好きではありません.
ここにもっと良い解決策はありますか?