ugrás a tartalomhoz

php cookie alapú auto-login

mzsiga · 2007. Nov. 19. (H), 14.55
Sziasztok!

Auto-login scriptet szeretnék írni. Jelenleg úgy néz ki az authentikációm, hogy aki ad egy jó felhasználó-jelszó párt, annak a session azonosítója bekerül egy táblába, mint azonosított felhasználó, így a megfelelő szolgáltatásokat a továbbiakban eléri. Ha ezzel a módszerrel már bajok vannak, szóljatok, pl. egyáltalán lehet valahogy session azonosítót hazudni?
Namost az auto-logint valahogy úgy képzeltem, hogy ezt a session azonosítót beletenném egy cookie-ba (meg esetleg más információkat is, pl. a webshopban mi volt legutóbb a kosarában, felhasználói adatok, ilyesmik) és annak adnék valami hosszabb lejárati dátumot, mondjuk legalább 3-4 órát, hogy ha bezárja a böngészőt, ne kelljen megint belépnie. Ez az időtartam lehet több is. Namost ezzel gondolom van pár probléma: mi van, ha valaki kézzel megszerkeszti a cookiet, mondjuk átírja benne a lejárati dátumot? Vagy ha mondjuk hosszabb ez az időtartam és valaki ezt a session azonosítót kinézi, majd másnap a saját belépése után a cookie-jába beleírja a session azonosítót és a másik felhasználó nevében bármit megtesz. Kipróbáltam ethereallal egyébként is nagyon jól lehet nézegetni miket küldözgetek a webszervernek, és biztos vagyok benne, hogy létezik olyan program, ami mondjuk egy belső hálózaton figyel és kilopja a cookieban lévő információkat.
Szóval ezt az első megközelítést azzal egészíteném ki, hogy mondjuk ezeket az adatokat konkatenálom, majd valahogy veszteségmentesen kódolom, majd "mycookie" néven beteszem a sütik közé. Ez jól hangzik, mert legalább változtatni nem tud rajta, mert ahhoz dekódolni, változtatni és visszakódolni kéne, de a süti ellopását nem védtem ki, mert ennek a tartalmát ugyanúgy bemásolhatja egy másik user a saját sütijébe, mint ahogy előbb a session azonosítót.
Még egy dolog, kipróbáltam simán, notepaddal megszerkeszteni egy sütit, de azt az explorer nem ismerte fel. Google kidobott rögtön 10 találatot a "cookie editor" keresőszóra, mondjuk nem próbáltam ki, de gondolom a szerkesztés lehetséges és ilyenformán kell foglalkozni a fentebb vázolt kérdésekre.

Mi a véleményetek, milyen jó megoldás(oka)t ismertek?
 
1

hmm

cSuwwi · 2007. Nov. 19. (H), 15.25
Egyszerű megoldásként lehetne a kódolt kukiba kiírni az user ipjét (vagy gondolva a dynip-re fagyás esetén) az ip tartományát. Belépésnél nézné hogy a jelenlegi ip-je azonos-e a kukiban megadottal, vagy legalább az első két csoport azonos-e. Azt ha más el is lopja, és visszamásolja az ip különbözőség miatt nem tudja felhasználni, ekkor léptesse ki és probléma megoldva :)
Persze ez közel sem 100%-os megoldás, csak egy apró de hasznos trükk.