Şifremi Unuttum ?
10
●1.206
- 27-03-2010, 23:22:01Üyeliği durduruldu$sifre=md5($sifre); kriter 32 lik md5 se bunla yapabilirsiniz. Attica mail gitmeme makina ip bandada olabilir basks servos maili deneyin. Telden yaziyorum o yuzden goremedim sizin kodlarinizi
- 27-03-2010, 23:26:56Kimlik doğrulama veya yönetimden onay bekliyor.Arkadaşım, kullanıcı şifresini veritabanına md5 leyip attıktan sonra, tekrar çekip o şekilde gönderemezsin. O şekilde olması için ancak şifreyi ham olarak kaydetmiş olman gerekir. O da haliyle güvensiz bir şey. Yapacağın şey ayrı bir tablo açarsın örneğin
id,uye_id, kod, tarih
diye. Daha sonra kullanıcı şifremi unuttum linkine tıklarsa, bakarsın o mailde kullanıcı varsa, rastgele bir kod oluşturur, süre ve üye idi ile tabloya eklersin ve mail gönderirsin. Misal
<?php $onay_kodu = md5(rand(0,9999)*time()); //rastgele kod oluştur $sorgu = 'insert into onaytablon set uye_id="'.$uye_id.'", kod = "'.$onay_kodu.'" tarih="'.mktime().'"'; //tabloya ekle //mail gönder $mail_bilgi = 'Sayın üyemiz falanca, şifrenizi sıfırlamak için bu linke tıklayın: <a href="www.site.com/sifre_reset.php?kod='.$onay_kodu.'">Şifreyi sıfırla</a>'; //mail($uye['email'], $konu , $mail_bilgi vs.vs. ?>
Daha sonra adam linke tıklarsa sifre_reset.php veya hangi sayfada yapacaksan orada bakarsın, GET ile kod geldiyse tabloyu kontrol edersin, kod doğru ise ve zaman belirli bir süreyi geçmemişse, parola değişme formunu gösterir yeni parolayı kaydedersin veya kendin bir parola oluşturur onu gönderirsin.
Yani önce mail doğrulama ile işlemi onaylatman lazım. Yoksa birisi tutar şifremi unuttum diye üyelerden birinin mailini girse, kafana göre şifreyi değişip, adama şifreniz değişti yeni şifre bu diye mail atmış gibi olursun.