Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan kell login rendszert...

Hogyan kell login rendszert csinálni?

Figyelt kérdés

Szeretnék egy egyszerű regisztrációt, minden sallangtól mentesen.

Statikus oldalakat hobbi szinten el tudok készíteni, a php-be is belekóstoltam már. Tudom, hogy adatbázis szintjén kell ezt megoldani.


De így a gyakorlat része kissé homályos.


jan. 17. 22:09
1 2
 11/15 anonim ***** válasza:
0%

Jajj Istenem, tudtam hogy a gyakorikérdéseken alacsonyan van a szint, de hogy ennyire...


Borzasztó ez a gányolás, amit itt leműveltek. md5, kliens oldali session tárolás, merthogy "A Session egyik nagy problémája, hogy párhuzamos kérések nem mennek." ??? Ilyen baromságokat mégis honnan vesztek??? Hihetetlen...


Kérdező, ne hallgass ezekre a kókánymesterekre, inkább menj fel valami normálisabb oldalra (pl. prog.hu), és kérj ott tanácsot, vagy kérdezd meg a ChatGPT-t.

jan. 18. 12:25
Hasznos számodra ez a válasz?
 12/15 anonim ***** válasza:
0%

#11: próbáld ki.

sleep.php : <?php session_start(); $_SESSION['OK']=1; sleep(20); ?>

check.php : <?php session_start(); if($_SESSION['OK']) print('OK...'); ?>

indítsd el a sleep.php -t, amíg az nem végez addig másik tab -on nem tölt be a check.php mert a session folyamatban van már.

Csak akkor nem várja meg, ha session nincs előtte használtban a sleep.php -ba, vagy a hosszú folyamat előtt lezárod a session írás -t a session_write_close(); függvénnyel.

pl. így: <?php session_start(); $_SESSION['OK']=1; session_write_close(); sleep(20); ?>

(Viszont minden apró változásnál nem ajánlott lezárni, mert az sűrű session fájl írást eredményez)

jan. 18. 14:57
Hasznos számodra ez a válasz?
 13/15 anonim ***** válasza:
0%

Emelet a session általánosan 20 perc lejárattal van, ami azt jelenti, hogy ha hosszabb akkor 20 perc után törlődik.

Hiába növeled pl. ini_set() -el a session.gc_maxlifetime -ot, a server alap session idő alapján törli azt.

Míg Cookie esetén kliens oldalon van tárolva, ha cookie expire értéke null akkor a böngésző bezárásáig érvényes. (mint a session is)

Adatokat titkosítva tárolod benne, így nem igen tudják reális időn belül feltörni.


Tény, hogy nem lehet benne sok adatot tárolni, mert az sok feles fejlécet jelent, és méret korlát is van.

Nem tudod akármikor módosítani a tartalmát mint a session -nak csak az első byte kiprinteléséig...


De ha egyszerűsítjük, egy azonosító adat, tooken tárolására tökéletes a cookie is, ami max böngésző bezárásáig marad meg, és nem kell hozzá szerver oldali session -ba tárolni. (session id is amúgy cookie -ben van tárolva kliens oldalon)

jan. 18. 15:10
Hasznos számodra ez a válasz?
 14/15 anonim ***** válasza:
0%

#12


"indítsd el a sleep.php -t, amíg az nem végez addig másik tab -on nem tölt be a check.php mert a session folyamatban van már."


Igen, és van elképzelésed róla, hogy ez miért van így? Ha nem így lenne, az bug lenne, és azzal, hogy te ezt a viselkedést megkerülöd, nem optimalizációt csinálsz, hanem potenciális bugot!


"Hiába növeled pl. ini_set() -el a session.gc_maxlifetime -ot, a server alap session idő alapján törli azt."


Ez abszolút függ a szerver oprendszerétől, a session.gc_probability-től, a session.gc_divisor-től, ha van cron beállítva, akkor attól is függ... sok mindentől függ.


"akkor a böngésző bezárásáig érvényes. (mint a session is)"


A session cookie-et a modern böngészők nem törlik bezáráskor.


Megnéztem a kódodat, a legnagyobb jóindulattal mondom, hogy az első code review-n megbuknak. A @ operátorért jobb helyeken instant lecseszés jár, a mysqli használata megint csak nem túl jó ötlet...


Inkább linkelek két login system-et, mindkettőből lehet tanulni:

[link]

[link]


Főleg ez utóbbit érdemes nézni, szépen van megcsinálva.

jan. 18. 17:19
Hasznos számodra ez a válasz?
 15/15 anonim ***** válasza:
31%

"A session cookie-et a modern böngészők nem törlik bezáráskor."

A böngésző bezárásakor törli, a lap (fül/tab) bezárásakor még nem...

jan. 18. 18:37
Hasznos számodra ez a válasz?
1 2

További kérdések:





Minden jog fenntartva © 2024, 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!