Kezdőoldal » Számítástechnika » Weblapkészítés » Autentikáció php-vel, milyen...

Autentikáció php-vel, milyen elv alapján?

Figyelt kérdés

sziasztok!


odáig trivi, hogy lekérdezem a DB-ből, hogy a jelszó jó e, de utána kicsit gondban vagyok. nem szeretném minden oldalnál lekérdezni a DB-ből az adatokat, hogy így kíméljem a szervert. az megfelelően biztonságos megoldás, hogy session-be létrehozok egy változót, és amíg ez a változó él, és van értéke, addig hagyom garázdálkodni a felhasználót az oldalon?


szeretnék jogosultsági szinteket is létrehozni, ha a fenti változó egy szám lenne, és pl. ha nagyobb mint 3, akkor beengedném az admin felületre, az járható út? vagy ezeket a session változókat fel lehet törni és módosítani? mert akkor elég könnyű lenne feltörni az oldalt.


biztonságosra kellene megcsinálni, milyen észrevetéeleitek és ötleteitek vannak?


2011. aug. 7. 09:31
1 2
 11/18 zsomkovacs ***** válasza:

Ha még nagyobb biztonságot akarsz, javaslom ezt a csomagot:


[link]


Nem feltörhetetlen a kód, csak az emberi élet rövid hozzá. ;-)

2011. aug. 7. 12:30
Hasznos számodra ez a válasz?
 12/18 anonim ***** válasza:

nos, oké.. akkor érthető.. bár: "amit fel tudsz törni, az nem jó" ez jogos, de akkor mondjuk használj keretrendszert: pl a Drupalt tudom ajánlani, az elég biztonságos..


De persze sok sikert ha sajátot írsz!


A társalgáshoz vélemény: zsomkovacs-csal egyet tudok érteni: bekért adatot megsózod, hasheled és session elegendő kell, hogy legyen. Bár azt Te magad is írtad, hogy az lenne a jó, ha külön tartanád az adminokat: többezer user vs. pár admin.. élhetőbb lenne, ha nem kellene együtt kezelni..


ja, és gondolom, aki ilyen szintű projektet csinál, annak nem kell mondani, de a teljesség igényével hozzáteszem, hogy persze figyelj az sqlinjection esetleges megvalósítási lehetőségeinek kerülésére.

2011. aug. 7. 12:34
Hasznos számodra ez a válasz?
 13/18 A kérdező kommentje:

alapból keretrendszerekkel szoktam dolgozni, és ott ugye minden szép és jó, mert előre jól megírt cuccokkal kell játszani.


de most nagyon kellett a pénz, és "szívességből" elvállaltam egy rövid melót, ami félig kész volt, és nem is fizet igazán jól.


viszont aztán kiderült, hogy kb 15-20%-ban van meg, a megvalósítás nem igazán kiforrott, és ilyen freeweb szerű tárhelyen kell fejlesztenem, és nem indulhatok ki , hogy jobb helyen fog futni a végső oldal.


szóval most megpróbálok tájékozódni az üres foltokról.

2011. aug. 7. 12:44
 14/18 anonim ***** válasza:
Én első oldalletöltéskor generálok egy sütit, aminek az értéke egy 32 karakteres véletlen betű-szám halmaz. Ezt követően csinálok egy rekordot neki a session táblába. Ha bejelentkezik akkor csak egy mezőt updatelek (userid). Ha van automatikus kiléptetési idő, akkor azt is lehet menteni adatbázisban (a legutóbbi oldalbetöltés timestampja). Ha túl nagy a különbség eközött és time() között akkor kiléptetem. A user a session értékét átírhatja, és ha véletlenül egy olyat ír be, ami létezik, akkor meg tudja ezt kerülni (minimális esélye van). Ennek kiküszöbölésére érdemes figyelni az IP címet és akár a user_agentet is.
2011. aug. 7. 13:28
Hasznos számodra ez a válasz?
 15/18 anonim ***** válasza:
Sőt én azt, hogy a user bejelentkezett és a biztonsági időkorlátot sql-ból ellenőrizném, mert akkor csak az alatt az idő alatt lehet támadást indítani, mi alatt a valódi felhasználó tényleg be van jelentkezve.
2011. aug. 7. 13:32
Hasznos számodra ez a válasz?
 16/18 anonim ***** válasza:
Kiléptetéskor nem törlöm a sütit, csak a userid-t updatelem nullára. A rendszer minden nap generál egy 24 karakteres kódot (salt) és ezt csapom hozzá az SHA1-el kódolt jelszóhoz. Regisztrációkor/jelszóváltáskor ezt 64 karakteres kódot és az aktuális timestampet (a megfelelő salt visszakereséséhez). Fontos, hogy minden adatot szűrj meg, ami a usertől jön/jöhet. Számoknál határozz meg minimum-maximum értéket, és ha ezeken kívül esik a kapott adat, akkor azt le tudod kezelni. Mindig vizsgáld meg a júzertől kapott adatok típusát - ha pozitív egész számot vársz, akkor azt is kell kapj, vagy dobj hibát/válassz egy "legális" alapértéket.
2011. aug. 7. 13:37
Hasznos számodra ez a válasz?
 17/18 anonim ***** válasza:
Mi egyébként kétszintű bejelentkezést csináltunk, például az első szintről fél óra alatt jelentkeztet ki, a másodikról öt perc inaktivitás után rak az első szintre. Ha pipálja az automatikus bejelentkezést, akkor az első szintről nem lépteti ki, de a másodikról természetesen igen.
2011. aug. 7. 13:40
Hasznos számodra ez a válasz?
 18/18 A kérdező kommentje:
Köszi az infót! nagyon hasznos volt ^^
2011. aug. 7. 15:55
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!