Beléptetőrendszer - SESSION vagy MySQL?
Sziasztok!
Van egy régebbi jól működő loginrendszerem,amit az utóbbi időben nekiálltam fejlesztgetni a még készülő honlapomra,mert biztonsági szempontból nem éppen a legjobb. Már elég sokat olvastam a témában és ez alapján tudom,hogy a munkamenetek nem kevés veszélyt hordoznak magukban és emiatt felvetődött bennem az ötlet ha veszélyes a SESSION,akkor miért nem használok MySQL-t helyette.
Ezt úgy képzelem el,hogy a MySQL-ben lenne egy tábla,amiben letárolnám a felhasználó IP-jét,az adott felhasználó azonosítóját,a belépés idejét és az utolsó aktivítás idejét.(természetesen mindezt titkosítva)
Azért IP alapján azonosítanék,mert az akármilyen dinamikus csak nem változik meg ennyi idő alatt,vagy ha mégis,akkor meg egyszerűen csak újra belép a felhasználó.
Összességében amikor belép a felhasználó ez így mind eltárolódik az adatbázisban,aztán mikor kilép törlöm az adott rekordot. Ha meg véletlenül olyanra vetemedne,hogy csak bezárja a böngészőt és nem lép ki,azt azzal oldanám meg,hogy Cron Jobs-al bizonyos időnként lefuttatnék egy PHP-t és ellenőrizném,hogy ha pl. fél órája nem csinált semmit akkor törlöm az adott sort a táblából.
Ez eddig rendben is van,de gyanús,hogy hiába kerestem nem találtam ilyen vagy ehhez hasonló megoldásokról semmit, ebből viszont akaratlanul is arra következtetek,hogy van valamilyen biztonsági vagy egyéb problémája, ami miatt nem érdemes használni. Vagy ez hülyeség? Ti mit mondtok?
■ Van egy régebbi jól működő loginrendszerem,amit az utóbbi időben nekiálltam fejlesztgetni a még készülő honlapomra,mert biztonsági szempontból nem éppen a legjobb. Már elég sokat olvastam a témában és ez alapján tudom,hogy a munkamenetek nem kevés veszélyt hordoznak magukban és emiatt felvetődött bennem az ötlet ha veszélyes a SESSION,akkor miért nem használok MySQL-t helyette.
Ezt úgy képzelem el,hogy a MySQL-ben lenne egy tábla,amiben letárolnám a felhasználó IP-jét,az adott felhasználó azonosítóját,a belépés idejét és az utolsó aktivítás idejét.(természetesen mindezt titkosítva)
Azért IP alapján azonosítanék,mert az akármilyen dinamikus csak nem változik meg ennyi idő alatt,vagy ha mégis,akkor meg egyszerűen csak újra belép a felhasználó.
Összességében amikor belép a felhasználó ez így mind eltárolódik az adatbázisban,aztán mikor kilép törlöm az adott rekordot. Ha meg véletlenül olyanra vetemedne,hogy csak bezárja a böngészőt és nem lép ki,azt azzal oldanám meg,hogy Cron Jobs-al bizonyos időnként lefuttatnék egy PHP-t és ellenőrizném,hogy ha pl. fél órája nem csinált semmit akkor törlöm az adott sort a táblából.
Ez eddig rendben is van,de gyanús,hogy hiába kerestem nem találtam ilyen vagy ehhez hasonló megoldásokról semmit, ebből viszont akaratlanul is arra következtetek,hogy van valamilyen biztonsági vagy egyéb problémája, ami miatt nem érdemes használni. Vagy ez hülyeség? Ti mit mondtok?
Ha nem lenne - viszonylag -
IP
Pl. egy családon belül ketten nézik egyszerre az oldaladat, vagy egy irodai hálózatról többen lépnek be egyszerre?
Akkor az egyik user hozzáfér a másik user adataihoz, mert nálad gyakorlatilag egy sessionként léteznek ketten?
Szerintem ne akard feltalálni újra a session kezelést, vannak erre nagyon jól bevált módszerek.
és mi van ha a
session-t is lehet db-ben tárolni, ha azt szeretnéd, de nem sok értelme van (ha csak nem nagy terhelésű oldalt csinálsz, terhelésmegosztással), eléggé biztonságos a session, nem az lesz a szűk keresztmetszet, hanem inkább az xss és a mysql injection ha nem figyelsz oda.
Köszi...