Autor | Zpráva | ||
---|---|---|---|
RiZe Profil |
#1 · Zasláno: 6. 2. 2007, 17:19:02 · Upravil/a: RiZe
Chtěl bych se optat na váš názor ohledně bezpečnosti mého přihlašovacího systému. Ten nevyužívá standardních sessions v PHP. Místo toho mám v databázi tabulku pro sessions, která má sloupce pro session id, user id, start session, konec její platnosti, IP uživatele, agent uživatele a automatické přihlášení. Při přihlášení se vygeneruje unikátní session ID, zjistí se údaje uživatele (ID, ...), zapíše se session do databáze a vytvoří se dvě cookie se Session ID jedna, a s daty druhá. Po vypršení platnosti Session ID (řádek platnosti v DB), dojde k vygenerování nového ID, nové nastavení cookies atp. Při odhlášení se smaže záznam z databáze a odstraní cookies. Pokud má uživatel automatické přihlášení, tak se při přístupu zjistí jen platný session id (opět podle data vypršení) a vygeneruje se nový, nebo se ponechá stávající. Samozřejmě se v průběhu pohybu na stránkách kontroluje IP a Agent, a pokud se něco z toho změní, dojde k zneplatnění session a odhlášení uživatele.
Můj dotaz. Co byste na tom vylepšili, nebo předělali. Doufám, že jsem všechno popsal dobře, v případě nesrovnalostí opravím na pravou míru ;-). Díky |
||
WertriK Profil |
#2 · Zasláno: 6. 2. 2007, 18:52:34
vytvoří se dvě cookie se Session ID jedna, a s daty druhá
Jaké data tam ukládáš ? |
||
tiso Profil |
#3 · Zasláno: 6. 2. 2007, 19:08:13 · Upravil/a: tiso
RiZe čo Ti bráni použiť session, keď to robíš takto? btw. stačí Ti jedna cookie, dáta si zistíš z DB...
|
||
RiZe Profil |
#4 · Zasláno: 6. 2. 2007, 20:41:39
WertriK
Daty myslím uživatelovo ID, třeba. Všechny věci mám v souboru cache, takže mě stačí to ID, pak už si to srovnám ;) tiso Nevím jak to mám napojit na autologin :) |
||
tiso Profil |
#5 · Zasláno: 6. 2. 2007, 20:57:52
RiZe
tabulka uzivatel: meno/heslo/autologin kde autologin je stĺpec s hodnotou Yes/No (1/0) -pokiaľ sedí meno heslo tak ho prihlásiš -pokiaľ nastaví autologin na 1 tak mu vygeneruješ cookie autologin na čas aký chceš a testuješ existenciu tej cookie |
||
RiZe Profil |
#6 · Zasláno: 6. 2. 2007, 21:40:46 · Upravil/a: RiZe
tiso
Ano, takhle nějak to má být. Akorát pokud tu cookie generuji vždy a posílám uživateli, ale pokud má zapnutý auto-login, budu brát v potaz její existenci třeba i za týden. Pokud nebude mít autologin, bude cookie ignorována a bude vynuceno nové přihlášení. Tz. když bude větší datum než je v session end, a uživatel mezitím neudělá žádnou akci, která by vedla k prodloužení tohoto času, bude cookie ignorována. Tak teď mě zajímá nakolik je to bezpečné. U uživatele vlastně budu mít v cookie jeho Id (minimálně) a jeho Session Id. Zbytek je na serveru. Ověřuji IP, agenta, pokud se liší od údajů v databázi (zapsané při přihlášení), zneplatním relaci a vynutím nové přihlášení. |
||
tiso Profil |
#7 · Zasláno: 6. 2. 2007, 21:54:53
nie id, ale nejaký hash, napríklad hash reťazca z id, ip a agenta, máš to v jednom...
|
||
RiZe Profil |
#8 · Zasláno: 6. 2. 2007, 22:09:00
Což ale znamená další sloupec do tabulky pokud se nemýlím. Já se na to ještě pořádně mrknu ;-)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0