Autor Zpráva
Radim
Profil *
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
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 *
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 *
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
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 *
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 *
Zvážím to.
Leo
Profil
"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 *
Ten soubor na serveru se nedá přepsat... nelze ho nahradit, apod. Ten na serveru mohu nazvat např .htlogins
llook
Profil
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
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 *
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?
Radim
Profil *
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šší.
Toto téma je uzamčeno. Odpověď nelze zaslat.