PHP oturumları hakkında hızlı soru

4 Cevap php

Oturumlar session_start(), ben o kadar fark, ama seans kalıcı kılmak için, onlar bir ID gerekir yoluyla başlamıştır.

Şimdi php.ini dosyası bir ayarı vardır:

session.use_cookies = 1

Bu yüzden etrafında kimliği geçmek zorunda değilsiniz. Ama başka bir ayar var:

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0

Ben bu uygulamak ve benim web sitesine giderseniz, giriş, ben geri giderken ben artık kaydedilir olmayacak, aşağı tarayıcıyı kapatın ve bir süre sonra tekrar başlar ister ne olduğunu anlamak için Am benim site?

EDIT: Bağlı kalmak için, istemci tarafı kurabiye ile birleştirmek zorunda kalacaktır.

Ben 2 veritabanı alanları gerekir tahmin ediyorum. 1 oturumları kimliği için, 1 kimliği için ben çerez vermek.

4 Cevap

Hayır, artık kaydedilir olmayacaktır.

Burada benim cevaba bakınız: http://stackoverflow.com/questions/1290837/how-do-i-keep-a-user-logged-in-for-2-weeks/1290861#1290861 (insanların zaman bir miktar sonra imzalanacak istiyorsanız, sheduled görevler hakkında daha fazla bilgi için http://www.drupal.org/node/31506 bakınız). Bu size yardımcı olabilir.

Kullanıcı aracısı dizesini (sadece güvenlik için kontrol edin. Bir korsan bir şekilde bir anahtarı öğrendim varsa ... o sahte çerez gönderebilir ve otomatik olarak kaydedilebilir. Bir tarayıcı, bir zaman geçmek insanlar için, onlar sadece tekrar oturum açabilirsiniz kez çerezleri kopyaladıktan sonra. Ancak bu tarayıcı durmadan değiştirebilir veya güncelleştirme insanlar) için bir felaket olur.

Bunu doğru anlamak düşünüyorum, PHP kılavuzu diyor ki:

session.cookie_lifetime specifies the lifetime of the cookie in seconds which is sent to the browser. The value 0 means "until the browser is closed." Defaults to 0.

http://php.net/session.configuration#ini.session.cookie-lifetime

Evet derdim. Aksi halde görüyor musunuz?

evet, bu oturum çerezinin amacı budur.