ugrás a tartalomhoz

Archívum - Nov 21, 2009 - Fórum téma

Előző oldal lekérdezése

S3RI0US · 2009. Nov. 21. (Szo), 14.08
Hali!

Lenne egy kérdésem miszerint: Hogy tudom megnézni PHP-ban, hogy mi volt az előző megnyitott oldal, és ha nem az volt amit én szeretnék, egy ERROR üzenetet irjon ki?

Üdv.
Tamás
 

javascript objektum orientált kód próbája

kamba · 2009. Nov. 21. (Szo), 00.29
sziasztok.
A probléma a következő.

Felhasználó azonosítás - Alapszintű biztonság

whiteman0524 · 2009. Nov. 21. (Szo), 00.15
Üdv !

Ennél jobb címet sajnos nem igazán tudtam kitalálni :) Tehát most konkrét tapasztalatokra lennék kíváncsi a felhasználó azonosítás terén. Nekem eddig ez volt a "jól bevált" és nem túl bonyolult módszerem :

1. Sikeres Bejelentkezésnél session_start(); indítása, majd a felhasználónév - jelszó páros és az aktuális idő tárolása mondjuk a $_SESSION['name'], $_SESSION['pass'], és a $_SESSION['time'] változóban.

2. Minden egyes tevékenységnél, tehát ami az oldal frissítésével jár meghívódik például a következő függvény vagy valami ilyesmi :
  1. function loginValidate(){  
  2.   session_start();  
  3.   // Ha léteznek a változók...  
  4.   if(isset($_SESSION['name']) && isset($_SESSION['pass']) && isset($_SESSION['time'])){  
  5.     // Ha létezik a felhasználónév - jelszó páros és nem járt még le a 10 perc...  
  6.     if(ifUser($_SESSION['name'], $_SESSION['pass']) && (time() - $_SESSION['time'] < 600)){  
  7.       // Akkor az idő frissítése és az id újragenerálása hogy kicsit biztonságosabb legyen  
  8.       $_SESSION['time'] = time();  
  9.       session_regenerate_id();  
  10.     } else {  
  11.       // Különben destroy, és mehet vissza a bejelentkezéshez  
  12.       session_destroy();  
  13.       header('Location: login.php');  
  14.       exit();  
  15.     }  
  16.   } else {  
  17.     // Különben mehet vissza a bejelentkezéshez  
  18.     header('Location: login.php');  
  19.     exit();  
  20.   }  
  21. }  
3. És akkor ennyi...lenne...

Biztosan irtó gyenge megoldás, és legalább 236987 sebből vérzik ezért érdekelne hogy hogyan kéne ezt szakszerűbben csinálni, (feltételezve hogy lehet jobban is) ? :)

A válaszokat előre is köszönöm :)