Autor Zpráva
TomasJ
Profil
Dobrý večer všem,
chystáme s kamarádem takový větší projekt, kde budou chatovací místnosti (podobně jako na dalších, dnes již méně užívaných webech - xchat.cz, ...). Máte nějaké nápady jak udělat přihlašování? Kouknul jsem co řešíte zde na diskusi v jednom tématu a také na nápad trvalého přihlášení od Jakuba Vrány.
Za předpokladu, že bych udělal přihlašování na stejném principu (+ po každé akci změnil klíč), jak by se dalo elegantně řešit mazání starých záznamů z databáze?

Dám příklad: Přijdu na web, přihlásím se, do sušenky dostanu id účtu + token a v mysql tabulce se vytvoří nový záznam s id účtu, ip přihlašujícího, časem přístupu, délkou přihlášení a tokenem. Sušenku smažu, ale záznam v databázi zůstane.

Přemýšlel jsem, že by se dalo mazat jednou za měsíc záznamy, které by měly poslední přístup před více než 30 dny. Jenže přijde mi to neefektivní. Máte někdo lepší nápad?

Bezpečnost bych vyřešil (snad) právě tím měněním tokenu při každé akci uživatele. Token by se skládal z sha1 hashe těchto dat: IP uživatele, mikročas a nějaký neveřejně známý údaj, třeba část z hashe hesla. Co vy na to? Máte ještě nějaký lepší nápad, jak udělat přihlášení bezpečnější? Děkuji za odezvy.
scheras
Profil *
Proč přihlášení bez session? Jinak k dotazu, elegantní řešení by přeci bylo při nastavování nového klíče vymazat z db ten starý. Nebo, jiná možnost, při odhlášení uživatele vymazat všechny jeho záznamy. To by se ovšem muselo spojit s (třeba) měsíčním vymazáním starých záznamů, protože kdo se dnes opravdu svědomitě odhlašuje ze všech služeb, že?
Joker
Profil
TomasJ:
Proč nechcete použít sessions?
Tahle otázka je myslím důležitá i pro to, jaké alternativní řešení případně zvolit.
TomasJ
Profil
Joker:
Na webu budou stránky v nekonečném cyklu pro příjem dat z chatu (1 spojení na udp server z 1 portu). Z nějakého důvodu se zasekne celý web s použitím sessions. Nechápu to.
Napadlo mě udělat to pomocí ajaxu, jen ten má problém, že v některých prohlížečích je onreadystatechange až když se načte soubor.

Proto chci řešit vše přes cookies (kde mohu mít trvalé přihlášení).

scheras:
Při nastavování nového klíče je jasný, že starý bych nahradil, jinak by to nefungovalo. Jde mi jen o to, když smažu sušenku, jak potom zjistím, který záznam smazat?
scheras
Profil *
TomasJ:
No smazat záznam před smazáním sušenky.
TomasJ
Profil
scheras:
My jsme se nepochopili asi správně. Otevřu správce sušenek v prohlížeči a smažu ji. Nedá se poznat, když uživatel smaže sušenku. O to mi jde...
scheras
Profil *
TomasJ:
Máte pravdu, nepochopili. Ale o tomto problému jsem psal výše, takže vyřeší se to mazáním starých záznamů třeba každý den ve 3:00 (jak chcete pochopitelně). Nebo třeba kontrolovat u každého záznamu datum vytvoření a po určité době promazávat.
TomasJ
Profil
Jenže to je právě problém, že by už nešlo trvale se přihlásit. Jenže 30 dní mi přijde dlouhá doba.
pcmanik
Profil
TomasJ:
Pričinu treba hladať inde. Pokiaľ jeden skript neukončí prácu so session ďalší k nemu nim nemá pristup a preto čaká až sa uvoľní, takže si ulož obsah session do nejakej premennej a hneď potom zavolaj session_write_close()

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: