Autor | Zpráva | ||
---|---|---|---|
Radim Profil * |
#1 · Zasláno: 9. 6. 2006, 15:56:09
Zdravím. Uvažuji, že bych na svých stránkách zavedl přihlašování (bez databáze) a tak se chci zeptat, jestli jsem to správně pochopil.
Měl bych mít jeden soubor, který slouží jako tabulka, do které se zapisuje sessid, logtime, logstatus, username. Při přístupu na každou novou stránku se kontroluje 1) sesid, 2) čas posl. přihl. 3) logstatus. Říkám si jestli v tom souboru toho není trochu moc, aby ta operace nezdržovala, kdyby bylo přihlášeno více uživatelů? |
||
Peca Profil |
#2 · Zasláno: 9. 6. 2006, 16:19:43
Zdržovat to určitě nebude. Problém je ale v tom, pokud se přihlásí více uživatelů současně, tak se obsah toho souboru úplně vymaže -dva procesy se budou snažit do něj zapisovat současně.
|
||
Radim Profil * |
#3 · Zasláno: 9. 6. 2006, 16:22:46
Ta pravděpodobnost je ale minimální, pokud tam nebude moc uživatelů. A když už by se stalo, tak se přihlásí znova...
|
||
WertriK Profil * |
#4 · Zasláno: 9. 6. 2006, 17:21:07
Radim
Když přes soubor, tak radeji pro každého usera zvlášť - soubor by měl jméno podle sessID - kontrola by byla také velice snadná if(file_exists(..)). |
||
Leo Profil |
#5 · Zasláno: 9. 6. 2006, 18:46:44
A proc chcete vytvaret jeste dalsi soubory, kdyz samotny session system si vytvari sve vlastni? Proste si do $_SESSION promennych dejte co potrebujete (logtime, logstatus, username). Sessid ukladat netreba. Leo
|
||
Radim Profil * |
#6 · Zasláno: 10. 6. 2006, 10:48:54
Ale to přece není bezpečné. Alespoň se mi to nějak nezdá. Neříkejte mi, že se to tak dělá běžně?
A co když bude mít vypnuté sessions? |
||
Radim Profil * |
#7 · Zasláno: 10. 6. 2006, 10:49:34
Zvážím to.
|
||
Leo Profil |
#8 · Zasláno: 10. 6. 2006, 11:00:17
"Ale to přece není bezpečné. Alespoň se mi to nějak nezdá. Neříkejte mi, že se to tak dělá běžně?"
A o co je vase reseni bezpecnejsi, kdyz to nacpete do souboru, ktery navic - predpokladam - mate dostupny pres http... Leo |
||
Radim Profil * |
#9 · Zasláno: 10. 6. 2006, 11:03:21
Ten soubor na serveru se nedá přepsat... nelze ho nahradit, apod. Ten na serveru mohu nazvat např .htlogins
|
||
llook Profil |
#10 · Zasláno: 10. 6. 2006, 11:29:12
Dělá se to tak zcela běžně. Myslím, že si pleteš sessions a cookies.
Sessions fungují tak, že se uživateli posílá pouze číslo sezení (session ID) a to buďto v cookie nebo jako parametr URL. Tudíž není dost dobře možné, že by měl "vypnuté sessions" (i když čistě hypoteticky to není zcela nemožné...). Podle tohoto čísla se pak při každém požadavku obnoví proměnná $_SESSION, jejíž obsah je uložen na serveru. Jisté bezpečnostní aspekty sessions provází (zkus pohledat na php.vrana.cz - třeba session hijacking nebo session fixation), ale to co popisuješ je vlastně to samý. |
||
Leo Profil |
#11 · Zasláno: 10. 6. 2006, 12:17:42
Jeste podotknu, ze session soubory musi byt v adresari, ktery neni na webhostingu spolecny vsem domenam (virtualnim hostitelum). Ale kvalitni webhosting to tak ma nastavene automatisticky, Leo
|
||
Radim Profil * |
#12 · Zasláno: 12. 6. 2006, 17:51:02
začal jsem se teď po delší době vrtat v mysql a myslím, že by to s tou databází bylo přeci jen dobré řešení. Je to tak jednoduché ,že to stačí zapsat záznam do tabulky se sesions nebo je v tom nějaký háček? Třeba ohledně bezpečnosti?
|
||
Časová prodleva: 6 dní
|
|||
Radim Profil * |
#13 · Zasláno: 18. 6. 2006, 16:58:24
Teda to přihlašování přes db je bomba! Zkrátilo mi to kód tak 4x-8x a je to přehlednější a jednodušší.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0