Regisztráció megerősítése hogyan működik?
Hala!
Nem tud vk. linket, cikket regisztracio megerositesenek megvalositasarol?
Tehat ami a legtobb siteon van: a rendszeer most elkuldott neked egy emailt, abban: erre es erre a linkre kattintva: sikeresen aktivaltad a regisztraciot... Bar, ha jobban belegondolok, nem tudom eletkepes megoldas-e, ha regeleskor az emailben egy "blabla.hu?user=bela%aktivalokod=generaltszam"
linket vesek, az ipse rakkattint es en csak osszenezem, h letezik-e mysql-ben a bela-hoz a generalt szam?
Koszonom
■ Nem tud vk. linket, cikket regisztracio megerositesenek megvalositasarol?
Tehat ami a legtobb siteon van: a rendszeer most elkuldott neked egy emailt, abban: erre es erre a linkre kattintva: sikeresen aktivaltad a regisztraciot... Bar, ha jobban belegondolok, nem tudom eletkepes megoldas-e, ha regeleskor az emailben egy "blabla.hu?user=bela%aktivalokod=generaltszam"
linket vesek, az ipse rakkattint es en csak osszenezem, h letezik-e mysql-ben a bela-hoz a generalt szam?
Koszonom
Sok módszer létezik
kigenerálsz egy egyedi karakterláncot pl. igy: MD5(time . IPcim).
Ezt elmented az adatbázisban. Majd ez e-mailben elküldöd neki az aktivációs linket, aminek a végére ez a kis egyedi kód lesz hozzáfűzve (pl: http://mysite.xx/activation.php?id={egyediaznosito}. Az aktivációs linkre kattintva a PHP szkript megeresi az adatbázisban a megfelelő rekordot, és átirja a dateActivated oszlop értékét az aktuális dátummal. A lényeg az, hogy kell egy jelző, amivel tudod, hogy ez a felhasználó már aktiválta a tagságát. Én a dateActivated nevet adnám ennek a jelzőnek (adattipusa unsigned int lenne és Unix timestamp érték kerülne bele aktiváláskor).
inkább külön tábla
regisztrációkor belerakod egy külön táblába USERID - KOD párban. Mikor be akar valaki jelentkezni, megnézed, h bent van-e ebben a táblában az adott USERID, és ha igen, nem engeded bejelentkezni.
Ha aktivál, akkor simán kitörlöd a táblából.
BL
Miért egyszerűbb?
Hozzácsapsz egy oszlopot, oszt annyi :) De ezért külön tábla? Ráadásul egy (egyszerű és áttekinthető) lekérdezéssel megvan a belépés:
több megoldás
De ha külön táblában tárolod:
kevesebb adatot tárolsz. (csak azok szerepelnek a táblában, akik még nem aktiválták magukat)
azt én két különböző tulajdonságnak tartom, hogy egy felhasználó aktív-e, vagy aktiválta magát. Az aktív/passzív többször változhat, ez esetben egy felhasználó csak akkor szerepel a táblában, amikor regisztrál, később oda nem kerül vissza. Az admin később letilthatja a felhasználót, ezt persze a felhasználók táblájában tárolja.
Na mindegy, én csak ugy találtam h ez egyszerűbb.
BL
A két tábla védelmében
Másrészt pedig ha picit finomítod a rendszert, akkor a kódnak lehet egy élettartama is (pl 48 óra). Ez egy újabb mező, ami szintén csak addig érdekes, amíg meg nem történt a visszaigazolás.
B
Esetleg...
Kiküldöd az aktivációs emailt és akkor adja meg.
Ez db oldalról úgy nézne ki, hogy addig nem aktivált, amíg nem adott meg jelszót:)
Ezt lehet még kombinálni azzal, h jelszónál alapból kódolatlanul pl: "!aktiválásikód!".
Amikor kódoltan eltárolod a jelszót, akkor ugye az már nem tartalmazhat pl. "!" jelet. Így nem tudod keverni. Így egy teljes attribútumot ki tudsz spórolni, persze cserébe lesz pár sor bonyolítás a kódban:P
DB nélkül
pl:
Amikor visszajön az illető, csak ellenőrizned kell a MAC-et és ha stimmel, mehet is a regisztráció.
Tetszik, megjegyzem:)Így
De ha nem igazol vissza akkor akár pár órán belül törlődik, így "adatkezelési/jogi szempontból" milyen aggályaid vannak? Na meg így is tárolod az email címét, akkor meg nem mindegy? Nem tudom, kérdezem:)
[Szerk.]
Közben leesett, hogy nincs szükség az email cím tárolására.
PER: Ez egy 2006-os téma:)
Srácok,
Tárolni meg azt tárolsz róla adatot, amit akarsz, DE! kellő képpen tájékoztatnod kell, hogy pontosan mit tárolsz és miért, valamint ezen tárolás elfogadásakor regelhet csak (checkbox, nem előre bepipálva).
Szerintem nem szeretik, ha többszöri lépésben tudnak csak regelni, -> nem kötelező regeléshez az e-mail-link, ha kamu e-mailt adott meg, majd megszívja később.
(Attól, hogy 2006-os, még továbbfűzheti, ha kedve tartja.)
Nem értem a hozzászólásod
joedtől annyit kérdeztem, hogy neki milyen aggályai vannak adatkezelési/jogi szempontból, ha egy nem visszaigazolt regisztráció néhány óra hosszára az adatbázisban pihen. Nem azt kérdeztem, hogy mit szabad és mit nem.
Azt meg végképp nem értem, hogy miért nekem címzed, hogy egy vagy két táblát használjak, abban a szálban abszolút nem vettem részt.:)
az idő kérdése
adatkezelés
Röviden a lényeg, hogy amíg személyes adatokat tárolsz kötelezettségeid vannak, amelyek felelősséggel járnak. Ha nem tárolsz adatokat, nincs felelősséged. Ezért írtam, hogy célszerű minimálisra csökkenteni a nem használt adatokat, mert csak felesleges kockázatot jelentenek.