Şu anda kullanıcı oturum oturumu kullanarak im. i tarayıcıyı kapatmak ve açmak ama ne zaman tekrar tekrar oturum açmanız gerekir. nasıl giriş yapmanız kullanıcı 2 hafta Diyelim keeo yok.
daha sonra kurabiye geçer?
Evet. Sen "otomatik oturum açma" (veya "beni hatırla") işlevi uygulamak için çerezleri kullanabiliriz.
Bu google search veya SO search results, bir doğru yönü işaret etmelidir.
Yani "beni bu bilgisayarda hatırla" seçeneğini istiyorsun? İşte bunu nasıl bir dil agnostik yolu:
cookie_id
ve user_id
sütunlu bir DB tablo oluşturun. Gerektiğinde ayrıca bir cookie_ttl
ekleyin ve ip_lock
. Sütun isimleri kendisi için konuşur sanırım.cookie_id
temsil uzun, benzersiz, zor tahmin anahtarı oluşturmak ve birlikte DB bu depolamak user_id
. Ayrıca daha önce belirtilen çerez adla bir çerez çerez değeri olarak bu saklayın. Örneğin remember
. Cookie uzun ömür, örn ver bir yıl.cookie_id
çerez adı remember
ile ilişkili çerez değerini kontrol değilse kullanıcı oturum ise her istek, kontrol edin. Orada olduğunu ve DB göre geçerli ise, o automagically user_id
ile ilişkili kullanıcı giriş ve yine çerez yaşını ertelemek.Anahtar ve uzun (en az 30 karma karakter) yeterince karışık ise güvenlik risklerine gelince, o kaba-zorlama oturum açma şansı yok denecek kadar azdır. Dahası size muhtemelen isteğe bağlı sütun ip_lock
için kullanılacak ne olduğunu anlamış. Bu, kullanıcının IP adresini temsil etmelidir. "(Eğer statik IP var ise) bu IP Kilit açma" Sen sonuçta ekstra bir onay ekleyebilirsiniz sunucu ekstra bir doğrulama olarak kullanıcının IP adresini kullanabilirsiniz böylece.
Ve ne bir bir IP kilidi olmayan bir kullanıcı çerez değerini kaçırıldı olur? Peki, buna karşı yapılacak fazla bir şey yok. Onunla yaşamak. Her forumlar ve hesap-hijacks altında orada çok ki incitmez, ama ben kesinlikle yönetici panelleri ve sunucu tarafı şeyler kontrol sayfalarının bu tür için kullanmak olmaz için "beni hatırla" şey komik.
Tüm sonra oldukça yalındır bulunuyor. İyi şanslar.
Bu Oku: http://www.php.net/manual/en/session.configuration.php
İhtiyacınız ayarı session.cookie_lifetime
. Tarayıcı kapatıldığında oturum çerezleri (bir ömür boyu yok örneğin olanlar) silinir. Eğer oturumları uzun süre hayatta kalmak istiyorsanız, o php.ini
ayar, httpd.conf
set, ya da .htaccess
. Muhtemelen bile ini_set
Edit: Aslında bu işlevini kullanabilirsiniz:
session_set_cookie_params (86400*30);
session_start()
86400 * 30 30 gündür.
Buraya bakın: http://www.php.net/manual/en/function.session-set-cookie-params.php
Evet, bu yapmalıyım çerezleri kullanarak. Burada manuel giriş bulunuyor: http://php.net/manual/en/features.cookies.php
Alternatif olarak, bu işlevi de bir göz atabilirsiniz: http://php.net/manual/en/function.session-set-cookie-params.php. Bu, onun ömür gibi session cookie ayarlarını değiştirmenize olanak sağlar ...