Automatikus bejelentkezés
hella!
van egy bejelentkező formom és szeretném ha a látogatók automatikus bejelentkezést tudnának használni. pl. 2héten keresztül ne kérje újból a username/pw-t. Kérdések: (szeretném használni a beépített sessionkezelő dolgokat)
1. Az automatikus bejelentkezéshez (két hétig) két hétnyi érvényességi időt kell megadnom a cookienak és a session.gc_maxlifetime beállításnak is? egyáltalán ez a módja az autologinnak?
2. Ha egy user nem akarja használni az automatikus bejelentkezést, akkor nála nem állítok akkora bazi nagy gc_maxlifetime-ot és nem módosítom a cookie paramétereit. de nekem ez nem logikus. nyílván a gc egy beállítás alapján dolgozik...hogy lehet akkor mégis megoldani, h vmely emberek sessionja félóra múlva, többieké két hét múlva törlődjön?
3. Hogy lehet elérni, hogy session (session_start()) csak akkor induljon, ha bejelentkezett az ember? (nem akarom, h minden látogató esetén induljon session, csak annak aki regisztrált) figyeljem minden oldal elején, h létezik-e session cookie és ha igen, akkor session_start()?
Előre is köszönöm az okítást!
Tivadar
■ van egy bejelentkező formom és szeretném ha a látogatók automatikus bejelentkezést tudnának használni. pl. 2héten keresztül ne kérje újból a username/pw-t. Kérdések: (szeretném használni a beépített sessionkezelő dolgokat)
1. Az automatikus bejelentkezéshez (két hétig) két hétnyi érvényességi időt kell megadnom a cookienak és a session.gc_maxlifetime beállításnak is? egyáltalán ez a módja az autologinnak?
2. Ha egy user nem akarja használni az automatikus bejelentkezést, akkor nála nem állítok akkora bazi nagy gc_maxlifetime-ot és nem módosítom a cookie paramétereit. de nekem ez nem logikus. nyílván a gc egy beállítás alapján dolgozik...hogy lehet akkor mégis megoldani, h vmely emberek sessionja félóra múlva, többieké két hét múlva törlődjön?
3. Hogy lehet elérni, hogy session (session_start()) csak akkor induljon, ha bejelentkezett az ember? (nem akarom, h minden látogató esetén induljon session, csak annak aki regisztrált) figyeljem minden oldal elején, h létezik-e session cookie és ha igen, akkor session_start()?
Előre is köszönöm az okítást!
Tivadar
cookie
Egyébként nagyjából erről van szó, beállítasz egy cookiet és kész. Ha nem akarja használni az automatikus bejelentkezést, akkor meg nem állítod be. A session meg törlődni fog amikor lejár az ideje, mondjuk fél órányi inaktivitás után.
3: igen
ez így nem jó, mert
ötlet? állítsam be ini_set el a gc-t maxlife-ot két hétre? de ez csak arra a userre lesz érvényes? a többire nem?
Egy kis olvasmány!
http://www.evolt.org/article/comment/17/60265/index.html
szerver oldalon törölve?
A különbség az, hogy a cookie-s esetben a cookieban mondjuk benne van a user id-je, meg mondjuk egy egyedi azonosító mondjuk az utolsó bejelentkezés ideje md5-tel. Ha a cookie létezik, akkor megvizsgálod, hogy ahhoz a user id-hez ugyanaz az md5 tartozik-e vagy sem. Ha nem akkor valami csúnyaság van, nem lépteted be. Ha stimmel beállítasz egy session változót, hogy "belepve" és kész. Onnantól be van lépve és fut neki a session.
világos
mégegyszer köszönöm!
Tivadar