matrix adlı üyeden alıntı
Arkadaşlar yeni yeni kendimi phpde geliştiriyorum login formumdan bilgileri alıp bir php sayfasnda kontrol edip admin sayfasına yönlendiriyorum $_SESSION kullandım ama ayrıca çerezde kullanmak istedim orada işler biraz karıştı yardım edebilecek biri var mı acaba nasıl 2sini birden kullanabilirim yada tavsiye verebilecek biri var mı?
En mantıklı admin girişi için şöyle yapabilirsiniz;
1-) Öncelikle kullanıcı normal giriş yaptığında microtime() gibi bir fonksiyonu md5/sha1 ile şifreleyip bundan belli başlı karakterleri veritabanına hash olarak kaydedin.
2-) Aynı şekilde bu hash i çereze de kaydedin. Daha sonra giriş yapması için hem ip, hem de bu çerezdeki hash/veritabanındaki hash uyumunu kontrol edin. Uyum yoksa, çerezi ve veritabanındaki hash otomatik temizlensin.
3-) Eğer bu kullanıcı yönetici ise, yönetim girişinde öncelikle yetkiyi sorgulayın. Girişi göstermeyin. Mesela $giris_yapildi['uyeyetki'] == 1 ise, yönetim giriş sayfası gösterilsin, değilse direkt anasayfaya gitsin.
4-) Yetki aşamasını geçerse, giriş sayfası gösterilsin. Burada kullanıcı adı ve şifre girildiğinde veritabanında tıpkı normal girişteki gibi bir hash oluşturulsun bu $_COOKIE['yonetim_hash'] olarak çereze ve yonetim_hash olarak veritabanına girilsin. Normal girişteki işlemleri burada da yapın, eğer hem normal hash ile çerezdeki hash, hem de yonetim hashı ile çerezdeki yönetim hash uyuşmazsa kullanıcı doğrudan anasayfaya yönlenip çıkış yapsın çerez ve hashlar temizlensin.
-- Eğer yönetime bunun dışında ekstra bir güvenlik koymak isterseniz HTTP authentication özelliğini kullanın. Böylelikle üçüncü bir giriş paneli olmuş olacaktır. Buraya ise kullanıcı adından ve şifresinden tamamen bağımsız şifreler koyun... :)
Güvenlik bakımından bu şekilde yapılması daha uygun bana göre. :)
Yani biri senin çerezi çalsa da bir şey yapamaz, ip kontrolü vs olacak. :)
Tekrar giriş yapması istenecek. Şuan acayip uykum var umarım düzgünce anlatabilmişimdir. :D