Autor Zpráva
Pavel015
Profil
Dobrý večer.

Četl jsem už hodně příspěvků o tom tématu, ale stále nic, co by se mi přesně hodilo.
Při přihlášení uživatele si do DB uložím jeho id a jeho čas přihlášení. Vypisuji to pak jako $id_prihlaseneho, $cas_prihlaseni.

Potřeboval bych udělat "něco", co ho po 5 minutách aktivity samo odhlásí. (Nesmí to být přes ini.php ani .htaccess).

Prý se to dá dělat přes $_SESSION nebo přes COOKIES.
Nemohl byste mi sem někdo, prosím, něco postnout?
Děkuji.
RastyAmateur
Profil
Pavel015:
U $_COOKIE je možné nastavit, za jakou dobu to vyexpiruje. To by bylo možné. Ovšem nejsem si jist, jestli je to nejlepší řešení. Ovšem pokud to "5 minutách aktivity" myslíš, že se z té stránky prostě nehne (neaktualizuje stránku), bylo by to možné s trochou javascriptu...
Pavel015
Profil
RastyAmateur:
A nevíš, prosím, jak?
RastyAmateur
Profil
Pavel015:
Na co se teď ptáš? Na který ze způsobů?

1) cookies
setcookie("nazev_cookie",$promenna_k_ulozeni,60*5); # Uloží do cookies proměnnou $promenna_k_ulozeni, která vyprší za 60*5 sekund, najdeš ji pod názvem $_COOKIE["nazev_cookie"]
To je, když se člověk bude pohybovat mezi stránkama, tj. proběhne jakýsi refresh

2) js
setTimeout(function(){ /* kód */ }, 60*5)
To je pro případ, že uživatel nemá šanci aktualizovat stránku, což je blbost. Teď si to uvědomuji. Bylo by lepší se pomocí funkce setInterval() ptát každou např. minutu databáze, jestli už to není náhodou 5 minut...
Ještě lepší by bylo do $_SESSION uložit všechny údaje + čas, a pak to prověřovat se session, abys do toho nemusel tahat databázi.

Možná někdo vymyslí lepší způsob. Nikdy jsem to neřešil, tudíž to jsou nápady jen tak z hlavy... Nejspíš to nebude to nejlepší řešení... Uvidíš :)
Pavel015
Profil
RastyAmateur:
Cookis mi přijde rozhodně lepší.
RastyAmateur
Profil
Pavel015:
Tak v tom případě je vyřešeno. Ovšem cookies se dají oklamat, přepsat. Možná se pletu, ale i jejich expirace by mohla být teoreticky poupravena. Pokud chceš něco ukládat do databáze, hashuj to a ověřuj to při každém načtení stránky!
anonymníí
Profil *
RastyAmateur:
Co přesně by měl při zápisu do DB hashovat? A proč?
RastyAmateur
Profil
anonymníí:
Omlouvám se, chybička... Myslel jsem při zápisu do cookies...
Keeehi
Profil
Pavel015:
Jaký systém tím chráníš, respektive v jakých situacích to má zasáhnout a čemu to má bránit.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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