- iPhone topik
- Nokia N8 - vajon elég lesz-e?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Google Pixel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen hagyományos (nem okos-) telefont vegyek?
- Sony LinkBuds Clip – trendigazodás
- Újabb hét, újabb Galaxy S26 képek
- Samsung Galaxy A52s 5G - jó S-tehetség
- Samsung Galaxy Z Fold3 5G - foldi evolúció
Új hozzászólás Aktív témák
-
DNReNTi
őstag
válasz
tothjozsi96
#16502
üzenetére
A biztonságos beléptetés valamint főleg a felhasználói adatok biztonságos kezelése elég összetett dolog, írhatnék délig, mire leírom az egésszel kapcsolatban a véleményemet.
Mivel az idő az ellenségem, rövidre fogom. Ami már kiderült itt korábban is a felhasználói adatok sütiben tárolása a lehető legrosszabb megoldás, ha ráadásul még a jelszót is sütiben tárolod (ahogy korábban írtad) az pedig egyenesen kötél általi halált ér. 
Leírom az én alap megoldásom, aztán majd a többiek kijavítják vagy kiegészítik, szerintem ez egy weboldal esetén megfelelően biztonságos:
A felhasználók az alap adataikon kívül regisztrációkor kapnak egy mondjuk 20 számjegy hosszú unique random számsort, amely adatbázisban a felhasználó táblában van rögzítve. Amikor a felhasználó a felhasználónév és jelszó párossal helyesen belép, akkor a $_SESSION[] változóban eltárolom ezt a random azonosítót. Innentől a böngésző bezárásáig ez alapján azonosítom a felhasználót. A számsor unique, szóval ugyan úgy használhatom erre a célra mint mondjuk az id-t. Ha lehetőséget adsz arra, hogy a felhasználó belépve maradjon, akkor ezt a számsort nyugodtan tárolhatod sütiben is, így amikor a felhasználó újra meglátogatja az oldalt, a süti tartalmát beállítod a session változóba és minden megy tovább ahogy eddig. Kilépéskor a sütit "lejáratod" a sessiont unset()-eled.Miért számsor és nem string?
Mert az SQL lekérdezés gyorsabb számszerű ekvivalenciára mint szöveges egyezésre.Miért jó ez megoldás?
Mert ha még valaki, valahogyan hozzá is jutna, ehhez az azonosítóhoz (pl. a sütiból), abban semmilyen logikai minta nincs, ami alapján a többi felhasználó azonosítója megszerezhető lenne.Hogyan lehet ez még biztonságosabb?
Ennek a level 2 változata, ha random azonosítót minden belépéskor generálod és mented el a felhasználóhoz, ez viszont félmegoldás, mivel ha a felhasználó miközben be van lépve, belép egy másik eszközről, akkor az eredeti munkamentét el fogja veszíteni.Hogyan akadályozható ez meg?
Egyszerűen, level 2 helyett egyből a level 3-mal. Ugyan úgy egyedi azonosítót generálsz belépéskor, de ezt már nem a felhasználó táblában, hanem egy külön a belépéseket kezelő táblában rögzíted. Fontos, itt nem elég csak a random azonosítókat és a felhasználó id-kat tárolni, az egyértelmű azonosítás érdekében környezeti változók mentésére is szükség van. Kilépéskor a tárolt munkamenet célszerű az adatbázisból eldobni, így nem lesz tele szeméttel, továbbá érdemes időközönként háttérfolyamattal takarítani, teszem azt mondjuk a 48 óránál régebbi munkameneteket eldobni.Röviden ennyi.
Aki nem ért egyet pls javítson ki.
Új hozzászólás Aktív témák
- Nem indul és mi a baja a gépemnek topik
- Genshin Impact (PC, PS4, Android, iOS)
- iPhone topik
- Nokia N8 - vajon elég lesz-e?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Futás, futópályák
- Sweet.tv - internetes TV
- The Crew sorozat
- Milyen TV-t vegyek?
- Google Pixel topik
- További aktív témák...
- Használt iPhone 13 felvásárlás gyors, korrekt, biztonságos
- BESZÁMÍTÁS! MSI B450M R5 5500 16GB DDR4 512GB SSD RTX 2060 6GB Rampage SHIVA Cooler Master 650W
- GYÖNYÖRŰ iPhone 12 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4540, 100% AKKSI
- Új HP 15 Victus FHD IPS 144Hz i5-13420H 4.6Ghz 16GB 512GB SSD Nvidia RTX 3050 6GB Win11 Garancia
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
Mivel az idő az ellenségem, rövidre fogom. Ami már kiderült itt korábban is a felhasználói adatok sütiben tárolása a lehető legrosszabb megoldás, ha ráadásul még a jelszót is sütiben tárolod (ahogy korábban írtad) az pedig egyenesen kötél általi halált ér. 



