mashadow adlı üyeden alıntı

1- Kullanıcı "beni hatırla" seçeneği seçili olarak başarılı bir şekilde login olduktan sonra, bir cookie ayarlayın. Bu cookie kullanıcının kullanıcı adını (elinizdeki key ile decode edilecek şekilde şifrelenmiş) ve çok büyük rasgele bir sayının sha256 ile hashlenmiş halini içersin (buna token diyelim). Bu kullanıcı adı ve token ikisi birlikte bir sql tabloda kayıt altına alınsın.

2- Giriş yapmamış ama cookieye sahip ziyaretçi siteye girdiğinde bu cookieden aldığımız username ve tokenin tabloda var olup olmadığına bakalım. Eğer böyle bir kayıt varsa, bunu geçerli bir oturum sayalım. Tokeni silelim, yeni bir token oluşturup hem cookieye hem tabloya yazalım. Eğer böyle bir kayıt yoksa, dikkate almayalım.

Bu yöntemle farklı bilgisayarlardan veya browserlardan oturum açan aynı kullanıcı her bilgisayarda bu özelliği kullanabilecektir. Bunu istemiyorsanız, kullandığımız tablodaki kullanıcı adı kısmını unique gibi düşünüp sadece tek bir kayıt tutulmasınına izin verirseniz diğer cookieleri geçersiz kılar ve her zaman başarılı olarak son oturum açmış bilgisayar veya browserdan çalışmasını sağlayabilirsiniz.

Ben bu kadarının yeterli olduğu düşünüyorum, banka veya benzeri bir durum için kodlama yapmıyorsanız.

Ayrıca bu işlemi her sayfada yinelemenize gerek yok sadece giriş anında yapsanız yeterli.


Benzer bir sistem oluşturdum ben de ancak yalnızca giriş sayfasında olması nasıl yeterli olacak? Eğer kullanıcı siteye girerken beni hatırlayı seçtiyse ve ikinci girişinde login.php yerine view.php adında başka bir sayfaya gittiyse token kontrolü yapmazsak giriş yapılmış olarak bu sayfa karşısına çıkmayacak?