Şirket yakın zamanda extmail+postfix olarak posta çözümü olarak kullandı. Mevcut OA sisteminde, çalışanlar OA'ya giriş yaparken yasal hesaplarıyla giriş yapmak zorundadır, ancak bu şekilde en az iki bağımsız hesap ve şifre gereklidir ve bu da iş verimliliği üzerinde belli bir etkiye sahiptir.
Bu nedenle, mevcut OA sistem giriş mekanizmasını extmail ile aynı hesap ve şifre bilgilerini kullanacak şekilde değiştirmeye karar verdik; bu da çalışanların e-posta şifresini hatırladıkları sürece OA sistemine giriş yapabilmeleri avantajı var ve bu da iş verimliliğini önemli ölçüde artırabilir.
Anladıktan sonra, extmail e-posta hesabı bilgilerini mysql kullanarak kaydeder ve posta kutusu tablosunun şifresi şifreli şifre bilgilerini kaydeder, ancak extmail birden fazla şifreleme yöntemi destekler; detaylar için /var/www/extsuite/extman/webman.cf dosyasındaki SYS_CRYPT_TYPE öğesinin ayarlarını kontrol edebilirsiniz.
Sistemim md5crypt şifreleme kullanıyor ve şifre formatı: $1$k0Q4EA49$XXXXXXXXXXXXXXXXXX. Orijinal şifre artık posta kutusu tablosunda kaydedilmiyorsa, kullanıcının şifreyi doğru girdiğini nasıl doğrulayabilirim?
PHP kılavuzunda crypt fonksiyonlarının kullanımını defalarca kontrol ettikten sonra, crypt'in çeşitli farklı hash şifreleme yöntemlerini desteklediğini gördüm, lütfen PHP kılavuzundaki şifre fonksiyonlarının özel kullanımını ayrıntılı okuyun.
md5crypt'in bir tuzu vardır; bu tuz, şifreli şifreli metinde kaydedilir; yani $ sembolü ve içindeki karakterler, yukarıdaki şifreleme sonucundaki tuz $1$k0Q4EA49$'dır, yani orijinal şifre için şifreleme algoritmasının PHP uygulaması 123456 ve tuz $1$k0Q4EA49$ olarak aşağıdaki gibidir:
<?php echo crypt('123456', '$1$k0Q4EA49$');
Çıkış $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr.
Bu prensibi bildiğimizde, extmail'in posta kutusu hesap bilgisi doğrulamasını herhangi bir sistemimize entegre edebiliriz.
Ayrıca, linux'un /etc/shadow ve grub'un md5-crypt şifreleme yöntemi yukarıdaki ilkeyle tamamen aynıdır; bir hesabın şifresini zorla 123456 olarak değiştirmek istiyorsanız, /etc/shadow dosyasındaki ilgili hesabın ikinci alanını $1$k0Q4EA49$WcjktPPYOSyhI77n8BPPr olarak ayarlayabilirsiniz. |