username of emailadres?
Even een vraagje... als gebruikers in mijn cms gaan inloggen, kan ik dan het beste kiezen voor een username (die ze zelf kunnen verzinnen) of voor het e-mailadres?
Voorbeeldje, bij een bedrijf werkt Kees Jansen en Kees Pietersen. Beiden rijden ze Mercedes. Oké... de kans dat dit in real-life gebeurt is natuurlijk niet groot, maar stel dat Kees Jansen als username "Kees" neemt en als wachtwoord "Mercedes". Vervolgens gaat Kees Pietersen zich ook registeren en je raadt het al. Ook hij kiest voor "Kees" en "Mercedes". Moet je dan een melding tonen "deze combinatie is al in gebruik" :-s Dat lijkt me een beetje lullig. Natuurlijk komt dit waarschijnlijk nooit voor, maar toch...
Als ik e-mailadressen gebruik dan is het probleem opgelost, maaaaaar... stel iemand van buitenaf wil een hackpoging doen en weet dat bij het bedrijf Kees Jansen werkt en hij weet ook wat zijn e-mailadres is... dan heeft hij de helft van het loginproces al goed... ook niet echt ideaal...
Wie kan hier iets zinnigs over zeggen of heeft een goede tip?
Gewijzigd op 02/08/2011 01:48:37 door Ozzie PHP
je zou kunnen overwegen om wachtwoorden te laten genereren door een script.
Dus op basis van A-Z tot a-z en van 1 tot 0 en evt nog de tekens #& erbij @ random generen van 6 tekens lang o.i.d. dan word het al een stuk lastiger.
simpeler gezegt, niet de user het wachtwoord laten bedenken maar je systeem.
edit en evt om de zoveel tijd het wachwoord opnieuw laten instellen.
Gewijzigd op 02/08/2011 08:32:20 door Bart V B
Iemand anders nog een tip?
Bijvoorbeeld door een regex te gebruiken waar men bijvoorbeeld 2 hoofdletters, minstens 8 tekens, 1 cijfer en een speciaal teken moet invoeren om juist te valideren bij eerste invoer van een wachtwoord.
De kans dat beide gebruikers Mercedes05* zullen invoeren is nu bijna onbestaande.
Je zou er eventueel ook voor kunnen zorgen dat een username slechts één maal kan voorkomen, dit is toch ook een zeer frequente werkwijze.
Ah oké.. aan die laatste optie had ik nog niet gedacht... dat is ook een goede inderdaad.
en al zou er een match zijn met een dubbel wachtwoord dan nog zou dat opgevangen door het email adres. neem aan dat die maar 1 maal voor kan komen.
Hiermee voorkom je natuurlijk niet dat de 2e Kees onder de naam van 1e Kees probeert in te loggen en gewoon het rijtje mercedes01 t/m mercedes99 uit probeert.
Een andere optie is om de datum/uur van het registreren te koppelen aan de gebruikersnaam en wachtwoord. De kans dat Kees met de Mercedes op dezelfde minuut als de andere Kees met de Mercedes zich registreert is nét zo klein als de kans dat ik morgenavond de lotto win (ruw geschat)
In je cms moet je gebruikers van elkaar kunnen onderscheiden. Een username is hier voor bedoeld (dit kan ook een emailadres zijn). Als je dezelfde usernames toestaat, kan dat niet meer. Of mensen dan hetzelfde wachtwoord hebben, is irrelevant.
Hugo Maes op 02/08/2011 15:00:37:
Een andere optie is om de datum/uur van het registreren te koppelen aan de gebruikersnaam en wachtwoord. De kans dat Kees met de Mercedes op dezelfde minuut als de andere Kees met de Mercedes zich registreert is nét zo klein als de kans dat ik morgenavond de lotto win (ruw geschat)
En dan moet je dus bij het inloggen aangeven welke Kees met de mercedes je nu bent :P. Ik ben het helemaal eens met Pim.
Bas Kreleger op 02/08/2011 12:03:16:
Wat je ook kunt gebruiken zijn human readable password generator php.
Hehe... lol... weird sh#t!
Pim - op 02/08/2011 15:56:01:
In je cms moet je gebruikers van elkaar kunnen onderscheiden. Een username is hier voor bedoeld (dit kan ook een emailadres zijn). Als je dezelfde usernames toestaat, kan dat niet meer. Of mensen dan hetzelfde wachtwoord hebben, is irrelevant.
Onderscheiden zou ook kunnen op basis van naam toch? Tenzij je 2 Kees Jansens in je bedrijf hebt natuurlijk... Dan heb je een probleem. Oké... unieke username dan toch... maar hoe doe je dat? Mag een gebruiker die zelf kiezen, of ga je die genereren?
Indien een nieuwe gebruiker zijn gebruikersnaam wil laten registreren kan je via een query opzoeken als die gebruikersnaam reeds bestaat en indien ja niet laten valideren.
Of zoals hier op phphulp kan je laten registreren met e-mailadres en gebruik je naam en voornaam als gebruikersnaam ;)
Als je dit doortrekt naar een CMS dan wordt het verhaal iets anders denk ik... want je kunt je niet zelf inschrijven in een CMS. De webmaster moet dan een account aanmaken. Dan kan ik het zo maken dat de webmaster altijd een voornaam en achternaam moet invullen van de nieuwe gebruiker, en dat het systeem op basis daarvan een username aanmaakt. Is dat een goed idee? Dus de webmaster voert Kees Jansen als naam in en het CMS genereert als username bijvoorbeeld keesj56 waarbij die 56 een random getal is tussen 0 en 100. In het CMS zelf worden de users getoond met hun volledige naam, dus Kees Jansen, eigenlijk net zoals hier op PHPhulp. De enige vraag is dan nog of de gebruiker de mogelijkheid moet geven om zijn / haar username aan te passen of dat ie het moet doen met de toegewezen username.
Ik zou opteren voor het generen van een username met de mogelijkheid een eigen unieke(!) username aan te maken, de meeste gebruikers zullen dit wel appreciëren.
Het heeft hen toch een zekere vrijheid indien ze op verschillende plaatsen dezelfde username willen gebruiken.
:-)
Gewijzigd op 03/08/2011 14:16:57 door Ozzie PHP