Öykü kısa, uzun, ben bir in-house raporu motoru geliştiriyorum. Bu tamamen web (PHP ve AJAX çeşitli teknikler kullanarak) ve üretim yazılım tarafından bir MySQL veritabanında saklanan verileri yorumlama dayanır. Bir Ubuntu 8.04 sunucu üzerinde çalışan ve tüm çalışanların bu makinede bir linux kullanıcı hesabı var. Ben onların linux kullanıcı hesabı ile oturum açmak için bir kullanıcı zorlar ve belirli raporları erişmek için uygun grubuna ait olup olmadığını belirler pam_auth kullanarak bir giriş sistemi kurmak.
Bu bölümü harika çalışıyor, burada benim sorunum çerezleri kullanarak "beni hatırla" fonksiyonunu ekliyor. Kullanıcılar sadece onlara biraz zaman ve oturum sona her zaman oturum açmak zorunda şiddetlenmesi kaydetmek için 30 günlük bir çerez olması için isterim. Ben kodu "beni hatırla" bölümünü yazdı ve çerez sadece iyi saklar. Ben kendi kullanıcı adı ve parola bir md5 hash, sadece depolama ediyorum. Onları yeniden doğrulamak için zaman zaman burada sorun gelir. Normalde ben sadece veritabanından o kullanıcının bir parola hash ile depolanan kullanıcı adı karşılaştırarak bu yapardım. Ne işleri zorlaştırmaktadır ben kullanıcı adı ve şifre sağlamalarının doğrudan erişim yok olmasıdır. Hepsi / etc / passwd ve / etc / shadow saklanır ve giriş PAM modülü tarafından işlenir. pam_auth bir düz metin kullanıcı adı ve düz metin parola bekliyor.
Benim tek alternatifleri düz metin olarak, ya da tersine çevrilebilir bir şifreleme ile parolayı depolamak için ya vardır gibi görünüyor, ama ben özellikle bu fikirlerin birini sevmiyorum.
Burada daha iyi bir çözüm var mı?