Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
Tokenes azonosítás SMTP szerverrel
Sulc Martin{ Elismert } kérdése
211
Sziasztok.
Pár napja gondolkodom, hogyan oldjam meg a regisztrációs megerősítést a weboldalamon.
A b) megoldás meg is van, ami annyit csinál, hogy generál egy tokent az adatbázisban, ami felhasználóhoz van kötve, majd ezt egy formban meg kell adni, amit regisztrációkor kiküld az SMTP szerverem, és ekkor egy update történik, ami átírja az active táblát 0-ról 1-re adatbázisba.
Ezt persze ellenőrzöm bejelentkezésnél, hogy valóban annyi-e az a tábla a felhasználóknál.
echo json_encode(array('success' => true, 'msg' => 'Sikeres bejelentkezés!'));
} else {
echo json_encode(array("msg" => "Hibás felhasználónév vagy jelszó!"));
}
} else {
echo json_encode(array("msg" => "Minden mezőt ki kell tölteni!"));
}
} else {
echo json_encode(array("msg" => "Nem erősítetted meg a felhasználód!"));
}
}
A megerősítés egy külön oldalon van, ahol ajax továbbítja a dolgokat, és ha egyezik a token, amit egy generateRandomString generál, akkor átírja active 1-re a felhasználók táblában a felhasználót.
Viszont az a kérdés, hogy ez mennyire biztonságos?
A másik megoldás az lenne, hogy egy linket küldök ki emailben amit ha megnyit, engedélyezve lesz a felhasználója.
Ezt hogyan kell megoldani? Sosem foglalkoztam még vele.
Előre is köszönöm.
(sulis dolgozat miatt picit sürgős lenne..)
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika
Válaszok
2
bnc{ Informatikus }
megoldása
Szia
Valószínűleg a kód megvalósításban nem tudok segíteni, de azért úgy érzem, hogy az elméleti részhez hozzá tudok szólni.
A kiküldök egy kódot és azt beírja a felhasználó megoldás egy járható út, bizonyos oldalak esetében ez egy ma is használt megoldás.
Személy szerint a rákattint egy linkre és aktiválódik a fiók megoldást támogatnám. Nekem ASP.NET-ben van jártasságom, de valószínűsítem, hogy más rendszerekben is hasonló a megvalósítás.
Úgy működik, hogy a link gyakorlatilag egy kérés a backend felé, és query paraméterként tartalmazza a felhasználó azonosítóját és egy tokent. Erre hozok neked kicsit rövidebbre szabott példa linket: https://valami.hu/ConfirmEmail?userId=6ffa8ab5&code=Q2ZESjhMRTd6VVA5bG14THJDeTNYU1FpWlB2bTJWQ
Köszi. Akkor ezek szerint ide framework is kelleni fog, mert PHP-ban nem tudom lestreamelni azt, hogy valóban meg-e lett nyitva a link.
Megpróbálom nodejsben vagy vuejs-ben megírni. Mindenképp vagy php vagy javascript frameworköt fogok használni.
JS frameworkben úgy valahogy oldom meg, ahogy írtad, köszönöm szépen.
A kód websocketen keresztül fogja küldeni és fogadni a requesteket, itt küldöm át a tokent is.
1
bnc:
Sok sikert hozzá! Az általam javasolt megoldás valószínűleg csak egy a sok közül, lehet idővel más is fog még egyéb megvalósítási ötleteket adni. Viszont igyekeztem minél hamarabb válaszolni, mert írtad, hogy suli miatt sürget az idő.
3 éve0
Sulc Martin:
Igen, duális képzésben gyakorlaton egy cégnek írunk adminisztrációs felületet, azt a /confirm endpointos b) megoldást meg is valósítottam, csak nem nagyon tetszett nekik.. Pedig szerintem az sem rossz megoldás. Szóval most megy a fejtörés ezen a linkmegnyitós megoldáson. De köszönöm szépen a válaszod. Az a lényeg, hogy elméletben összeállt a dolog.
3 éve0