Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Lalikiraly: Kinek milyen setupja van?
- Lalikiraly: Astra kalandok @ Negyedik rész
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
Ú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
- Autós topik
- Bluetooth hangszórók
- Macrodroid
- PlayStation 5
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Okos Otthon / Smart Home
- Assetto Corsa Rally
- Háztartási gépek
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- AMD Ryzen 7 5800X3D + ASUS ROG STRIX B550-A + Corsair DOMINATOR PLATINUM 32GB (4x8GB) DDR4 3600Mhz
- Bluetti AC70 1000W Power Station
- Erős gamer PC Ryzen 7 5800X / RX 6900 XT / Asus Prime B450-Plus / Jonsbo MOD 3 550 000 Ft
- iPhone 14 pro 128 gb gold 100% akksi
- 20% karácsonyi akció Komplett asztali gép eladó (GTX 1060 6GB, i5-7500, 512GB SSD)
- Esztétikai hibás Apple iMac 19.2 i5-8500 Radeon Pro 560X 4GB 16GB 256GB SSD 21.5" 4K Retina
- DJI Osmo Pocket 3
- Apple iPhone 16 Pro Max Natural Titanium Titán dizájn, Pro kamera,100% akku,2026. 02. 11
- BESZÁMÍTÁS! Gigabyte Z37 i5 9600K 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA ADATA 600W
- Samsung Galaxy S24+ / GyáriFüggyetlen / 12/256GB / 12Hó Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
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. 


