Hirdetés
Új hozzászólás Aktív témák
-
disy68
aktív tag
válasz
DNReNTi
#16504
üzenetére
Amit én használok biztonságos megoldásként az kicsit bővíti az általad írt 3. megoldást (sajnos az eredeti cikket nem találom):
- Van egy "sorozat" token
- Van egy egyszeri tokenMindkét token egy hash érték, amiket úgy generálunk, hogy egyedi értékek legyenek - ne forduljon elő, hogy két felhasználónak azonos értéket adunk. A tokeneket a felhasználó egyedi azonosítójával együtt egy külön tábla tartalmazza - itt tárolhatunk egyéb információkat is a bejelentkezésekhez, pl. ip, user agent, stb.
Amikor a felhasználó bejelentkezik, akkor kap egy-egy tokent. A "sorozat" token nem fog változni a bejelentkezés alatt, viszont az egyszeri token minden lekéréskor változik - ezt természetesen figyelembe kell venni a tervezés során, hiszen minden oldallekérés adatbázisművelettel is párosul, kis felhasználószám esetén nincs jelentősége.
Egy felhasználóhoz több sorozat + egyszeri token rendelhető (egy "sorozat" token egy egyszeri tokennel áll párban), így lehet a felhasználó több kliensen egyszerre bejelentkezve. Bejelentkezéskor a felhasználóhoz tartozó tokenek törlésével/nem törlésével oldhatjuk meg a "nem lépek ki más böngészőből" itt a ph-n is használatos funkciót.
Amennyiben valaki megszerzi a két értéket, akkor addig tud ügyködni a nevünkben, amíg mi nem frissítjük az oldalt -> amikor ellenőrizzük a 2 tokent, akkor a sorozat ugyanaz, de az egyszeri nem, ezért kiléptetjük a felhasználót.
A két tokent és a felhasználó egyedi azonosítóját tárolhatjuk session és/vagy cookie értékként (akár az egészet egy stringként), elsődlegesen a session változót figyelembe véve. Amennyiben nincs session csak cookie, akkor kezelhetjük úgy a felhasználót, hogy nem biztonságosan van bejelentkezve és egyes funkciókat (pl. jelszóváltoztatás) csak a jelszó újbóli megadása után teszünk elérhetővé. Ha a felhasználó bejelöli a "bejelentkezve maradok" pipát, akkor tároljuk az értékeket cookie-val és session-nel, ha nem akkor csak session-nel.
Remélem sikerült érthetően megfogalmaznom a lényeget.
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
- iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3457, 94% Akkumulátor
- HIBÁTLAN iPhone 15 Pro 128GB Blue Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3717
- Telefon felvásárlás!! Apple iPhone SE (2016), Apple iPhone SE2 (2020), Apple iPhone SE3 (2022)
- AKCIÓ! Asus ROG STRIX Z490-G Gaming WiFi alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest


