Hvilke krav bør man stille ved registrering av brukernavn/passord/e-post?

Jobber med å lage nye nettsider, og sitter akkurat nå og koder et registreringsskjema der nye brukere kan registrere seg på sidene. Selve kodingen er ikke et problem, men det er enkelte områder hvor jeg lurer på hva som er vanlig praksis blant dere andre. Det er snakk om et sosialt nettverk, ikke en nettbutikk.

Jeg er av den oppfatningen at det skal være så enkelt som mulig å registrere seg. Derfor etterspør jeg bare den aller nødvendigste informasjonen i registreringsskjemaet, og det kommer jeg fram til at er disse feltene:

  • E-postadresse
  • Brukernavn
  • Passord / gjenta passord
  • Captcha
  • Avkrysningsboks «Jeg godtar brukervilkårene»

Tar gjerne imot innspill dersom dere føler at det er noe viktig jeg har glemt, forsåvidt.

Men det store spørsmålet her er: Hva slags krav bør jeg stille til input i disse feltene?

E-postadressen sjekker jeg om er en gyldig e-postadresse, og jeg sjekker at den ikke eksisterer i brukerdatabasen fra før. Det jeg ikke klarer å bestemme meg for er hvorvidt brukeren skal være nødt til å bekrefte e-postadressen eller ikke. Bør jeg kreve av brukeren at han eller hun før de kan begynne å bruke siden skal gå til e-postkontoen sin og klikke på en link i en tilsendt e-post for å aktivere brukeren, eller oppleves dette bare som unødvendig stress? Hvordan gjør dere dette?

Brukernavn: Her sjekker jeg selvsagt om brukernavnet allerede er i bruk, men burde jeg sjekke noe mer? Burde jeg ha en minimumslengde? En maksimumslengde? Forbudte tegn? Jeg bruker selvsagt uansett mysql_real_escape_string() når stringen skal inn i databasen og htmlentities() når stringen skal printes ut til skjermen, er det da egentlig noen hensikt i å ha forbudte tegn? Makslengde på brukernavn er kanskje en nødvendighet for at jeg skal kunne lagre dette brukernavnet i et varchar-felt i databasen, men hva bør denne grensen ligge på?

Passord: Bør jeg ha minimumslengde? Minimumskrav til hvor komplekst passordet skal være (f.eks. at det må inneholde både bokstaver og tall)? Dette krypteres uansett før lagring i databasen, så her er ikke makslengde viktig for databasens del - burde jeg ha en makslengde likevel?

Har dere evt. andre normer dere følger når dere lager registreringsskjemaer for nye brukere?

Har også planer om å få det meste av verdivalidering lagt inn i et lite Ajax-script slik at brukeren ser det med en gang dersom verdiene de oppgir ikke kan brukes.
 

Pong

Jeg selger sʇɥƃıluʍop :)
Hvis mulig, så er epost-adressen brukernavnet, men siden det er et sosialt nettverk... Hvis du bruker et brukernavnet (haha) så hadde jeg nok brukt en minimumslengde på den, kun AZaz09-_ og case-insensitive unikt.

Tror jeg hadde brukt en tekst "ved å registrere deg på denne siden godtar du brukervilkårene" (brukervilkårene er da en lenk) i stedenfor en avkrysningsboks.

Jeg hadde bedt brukeren å bekrefte epost-adressen ved å sende en epost med en lenk som de må klikke på ja.

Disse ting går veldig fort over til usability og ikke tekniske begrensninger :)
Ajax-scriptet som sjekker før sending er bare for å støtte brukeren og du validerer såklart server-side det som kommer inn. Men det viste du alt ;)

Disse påloggings-skjema begynner bli rett bra etterhvert.
Støtte for OpenID (aner faktisk ikke hvordan det fungerer...).
 
Jeg skal definitivt ha støtte for innlogging med e-postadresse, for å si det sånn. Men når brukerne legger inn innhold vil brukernavnet være det innholdet blir signert med - og det kan jeg ikke bruke e-postadresser til, selvfølgelig.

AZaz09-_ blir litt for restriktivt for min smak. Jeg vil at man skal ha mulighet til å oppgi f.eks. sitt virkelige navn der om man ønsker det, og dersom man har ett brukernavn man bruker andre steder på nettet vil jeg at man skal kunne bruke det her også, så da bør jeg minimum åpne for ÆØÅ/æøå, mellomrom og punktum. Helst også andre aksentbokstaver slik at sånt ikke skal være et hinder for å registrere seg. Så på den måten tror jeg at det greieste vil være å ikke ha en liste over «tillatte tegn», men heller en liste over «ikke tillatte tegn».

Ja, dette er definitivt et usability-spørsmål, ikke et teknisk spørsmål.

Selvsagt validerer jeg server-side.

OpenID, hm, det burde jeg kanskje se på, ja. Burde kanskje ta en titt på Facebook Connect også. Må skjønne hvordan det der fungerer før jeg vet om det er noe jeg kunne tenke meg å bruke eller ikke, synes det er veldig praktisk å ha en del ting lokalt i egen database.
 

Bjørnar

Gründer
jeg ville ha droppet captcha, til fordel for et logisk spørsmål. hva er hovedstaden i norge for eksempel, dersom det er norske brukere. da kan du også droppe bekreftelsen på brukeren, etter min mening.

men, gjør det i alle fall slik at ikke både 'Anders' og 'anders' kan bli medlem, det er totalt forvirrende :)
 
Hm... Jeg er usikker når det gjelder logiske spørsmål. Jeg sitter på en måte med en følelse av at alle vet hva en captcha er, så dersom man ser et bilde og et lite tekstfelt skjønner man intuitivt hva dette er, men hvis man stiller et logisk spørsmål må man begynne å tenke seg om, og kanskje til og med lese en kort forklaring for å skjønne hvorfor man egentlig skal svare på dette. Men det kan hende at jeg tar helt feil, selvfølgelig...

Case-insensitivitet i brukernavn er også en selvfølgelighet :)
 

Sjefskoder

Sjefskoder
olafmoriarty skrev:
  • E-postadresse
  • Brukernavn
  • Passord / gjenta passord
  • Captcha
  • Avkrysningsboks «Jeg godtar brukervilkårene»

Epost : minimum 3 tegn før @'n og at det er en i adressen ;)
Brukernavn: ett minimum antall tegn og at det ikke allerede er registrert ;)
Passord : valgfritt, men burde bestå av bokstaver og tall
Captcha : Nei, helt unødvendig dersom du stoler på dine brukere..
Brukervilkår : Selvfølgelig.


og et forslag :

Etter at personen har registrert seg sendes denne til "neste side i registreringsprosessen" og en epost sendes til denne med en kode, som må skrives i nytt felt for å validere at den som har registrert seg virkelig har registrert seg..

Når dette er gjort kan du si noe som "Takk for at du registrerte deg, du sendes nå videre" også kan du sende den videre etter et visst antall sekunder..

f.eks med en echo i php, noe som dette :

echo '<meta http-equiv="Refresh" content="3; URL=banetilnettadressen...'/">';

......

Trenger du hjelp med valideringer av disse inputen'e, så si ifra ;)

/S
 
Sist redigert:

Bjørnar

Gründer
Litt uenig med siste taler.
Sjefskoder skrev:
Epost : minimum 3 tegn før @'n og at det er en i adressen ;)
jeg har epostadresse som er typisk x@xx.no - da vil ikke den bli validert, og det er jo litt synd.
Sjefskoder skrev:
Captcha : Nei, helt unødvendig dersom du stoler på dine brukere..
problemet er vel ikke de brukerne han stoler på, men bots og annet faenskap han IKKE vil ha inn der :)
 

Nutz

Med lem
Legg også opp et par ekstra felt som er "frivillige".
Ofte så kliner bots inn tekst der for å være "sikker" på at de går igjennom kontrollen.
Tittel: er flott.. kliner noen inn noe ala 123456 der, så er det en bot.. :)
Har et gammelt forum som validerer også de "frivillige" feltene. Merkelig nok kliner de aller fleste spam-bots inn 123456.
Gjør klart til å filtrere spam-gutta ut tidlig i prosessen, gjerne før du sender valideringsmail
 

hansson

Langveisfarende
Synes validering av e-post er viktig mtp misbruk av andres e-postadresser. Det er vel ikke så ofte det skjer, men det skjer, og du slipper da å måtte slette dem manuelt når de henvender seg til deg og vil ha slutt på disse uønskede mailene de får.
 
Topp