[PHP/MySQL]Registratie op website

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Ik wil gebruikers van een website de mogelijkheid geven zich te registeren, wat toegang geeft tot andere onderdelen van de site (gastenboek ed). Ik wil voorkomen dat mensen zich met een of andere bullshit gaan registeren om zomaar onzin te gaan posten. Ik was van plan om dit als volgt te doen:

De user vult een form in, waarbij wordt gevraagd om een username, wachtwoord (2x) en een emailadres (2x). De user wordt vervolgens invoegd in een mysql tabel temp_users, met een uniek-id. Hierna wordt een email gestuurd met daarin een link naar een validate.php file die het uniek-id uit de url haalt, en vergelijkt met het id in de database. Komt dit overeen, dan wordt de user gekopieerd naar tabel users, en uit de temp_users tabel verwijderd.

Het unieke id genereer is als volgt:
$unique_id = md5(uniqid(rand(), true));

Dit lijkt mij een (redelijk) goede manier om dit enigszins te beveiligen, maar kan het misschien nog op een efficientere of betere manier?

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Q: Wat is je doelgroep???

Ik zou zelf persoonlijk op de validate pagina in een of andere random md5 post value de gebruiker nog een keer het wachtwoord laten herhalen, maar hoe veilig iets is hangt voornamelijk af van je doelgroep.

* Gomez12 kan zich nog een experiment herinneren dat mensen dat een klant een heeeel veilige login wou hebben dit ging toen via een gedownload bestandje wat weer een tcp aanroep deed naar een "random" port op server binnen 2 uur waardoor het echt bijna niet meer te faken was, maar na goedkeuring project kwam de klant erachter dat zijn beoogde doelgroep niet helemaal fantastisch overweg konden met firewalls en deze tijdelijk openzetten.... :)

P.s. Dit is dus al redelijk veilig volgens mij behalve als je er echt kritieke / sensitive gegevens aan gaat hangen

[ Voor 10% gewijzigd door Gomez12 op 05-04-2004 19:59 ]


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Het gaat mij erom dat elke gebruiker ook een geldig emailadres opgeeft, in de 1e plaats gaat het me erom dat je niet zomaar 20 gebruikers aan kan maken om mee te gaan zitten klooien.

Acties:
  • 0 Henk 'm!

  • ironx
  • Registratie: Augustus 2001
  • Laatst online: 01-07 19:42
in de 1e plaats gaat het me erom dat je niet zomaar 20 gebruikers aan kan maken om mee te gaan zitten klooien
Dan lijkt het me zoieso al verstandiger om Hotmail adressen e.d. te weren.


This posting is provided "AS IS" with no warranties, and confers no rights.


Acties:
  • 0 Henk 'm!

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 14:46

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Als je enkel een emailadres wilt, moet je dus niet een password van tevoren op laten geven :) Dat genereer je zelf (althans, de server ;) ), deze laat je mailen naar gecontroleerde adressen (blacklist van providers, bijv. hotmail.com zoals ironx hierboven al suggereerd). Lijkt mij genoeg? :) Oh ja, uiteraard wel een check of het ingevoerde adres niet al bestaat.

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Dat vind ik toch geen optie. De beoogde doelgroep is volgens mij voornamelijk hotmail gebruiker.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Het opnemen van de registratie in een temp tabel lijkt mij een beetje onzin. Gebruik gewoon een extra status veld waarin je aangeeft of iemand nog moet valideren met link, gewoon gebruik kan maken of is gebanned. Door met die temp tabel te werken maak je het jezelf alleen maar lastig (unieke constraint bepaalde gegevens bv)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Gertjan
  • Registratie: Oktober 2001
  • Laatst online: 09-09 17:11

Gertjan

mmmm, beer...

Waarom laat je het de gebruiker niet via email bevestidgen? Dus een link opsturen naar het adres wat hij/zij opgeeft en gebruiker moet daar eerst op klikken (zit dus een uniek id in oid) om in je echte user-tabel opgenomen te worden.

Acties:
  • 0 Henk 'm!

  • Dr_Frickin_Evil
  • Registratie: Mei 2000
  • Laatst online: 19-09 20:42
Janoz schreef op 05 april 2004 @ 20:20:
Het opnemen van de registratie in een temp tabel lijkt mij een beetje onzin. Gebruik gewoon een extra status veld waarin je aangeeft of iemand nog moet valideren met link, gewoon gebruik kan maken of is gebanned. Door met die temp tabel te werken maak je het jezelf alleen maar lastig (unieke constraint bepaalde gegevens bv)
Daar kun je wel eens gelijk in hebben. Ik heb momenteel een userlist met 3 userlevels: beheerder (0), hoofdgebruiker (1) en gebruiker (2). Ik kan natuurlijk best nog een te registeren (3) niveau bijmaken. Maar wat doe ik dan met dat unieke id? Maak ik daar gewoon een extra veld voor in de usertabel, welke ik leeg maak als de user geregistreerd is oid?
Ali_Illegali schreef op 05 april 2004 @ 20:22:
Waarom laat je het de gebruiker niet via email bevestidgen? Dus een link opsturen naar het adres wat hij/zij opgeeft en gebruiker moet daar eerst op klikken (zit dus een uniek id in oid) om in je echte user-tabel opgenomen te worden.
Dat is dus precies wat ik voorstel :?

[ Voor 54% gewijzigd door Dr_Frickin_Evil op 05-04-2004 20:27 ]


Acties:
  • 0 Henk 'm!

  • Roa
  • Registratie: December 2002
  • Laatst online: 03-07-2024

Roa

Dr_Frickin_Evil schreef op 05 april 2004 @ 20:24:
[...]

Daar kun je wel eens gelijk in hebben. Ik heb momenteel een userlist met 3 userlevels: beheerder (0), hoofdgebruiker (1) en gebruiker (2). Ik kan natuurlijk best nog een te registeren (3) niveau bijmaken. Maar wat doe ik dan met dat unieke id? Maak ik daar gewoon een extra veld voor in de usertabel, welke ik leeg maak als de user geregistreerd is oid?
Bij mij krijgen ze een bevestigings mail waarmee ze hun account kunnen activeren, iedere user krijgt een unieke activation_code. Dat heb ik in een extra veld opgeslagen bij de user gegevens. Dit blijft ook gewoon bestaan als de user geactiveerd is.

Overigens werk ik met status -2 (banned); -1 (inactive); 0 (member); 2 (staff) en 3(admins)

Waarom ik met - werk eigenlijk geen idee...kwam denk zo uit toen ik bezig was. Misschien verander ik het nog wel. Wel heb ik 1 opengelaten, voor het geval ik een soort special member wil maken.

Research is what I'm doing when I don't know what I'm doing.

Pagina: 1