Avatar billede Klaphattens Novice
21. juli 2012 - 17:30 Der er 7 kommentarer og
1 løsning

Guids til at lave et sikkert login-system

Mit login-system er ikke så sikkert, så det vil jeg gerne gøre bedre. eller faktisk lave et helt nyt.

Jeg synes mange af de systemer man finder, bliver kritiseret i kommentarfelter. det lykkes mig at finde et system, der for mig ser ok ud, men der er ingen kommentar. det virker dog som lidt voldsomme koder for en som mig, og det vil nok tage mig lang tid at sætte mig ind i det. men jeg vil først lige være sikker på at det er et godt script.

Er det muligt at få en konstruktiv anmeldelse af dette login-system. hvad er godt, hvad er dårligt, hvad er brugbart og hvad er ikke så brugbart:
https://gist.github.com/1118405

Er der nogen der ellers kan anbefale sider hvor man kan læse om opbygning af sikkert login-system. man må også gerne kunne se eksempler på koderne indskrevet, ikke så man kan copy/past, men bare så man kan lære af måden som koderne skrives på. det kunne være fedt, specielt hvis systemet i overstående link ikke kan anbefales.
Avatar billede claes57 Ekspert
21. juli 2012 - 20:00 #1
sql skal omskrives - læs http://www.eksperten.dk/guide/1480
Avatar billede Klaphattens Novice
21. juli 2012 - 22:43 #2
Den del havde jeg regnet med, har også selv været i gang med at øve mig på mysqli. men ville ikke begynde at omskrive det han har lavet, hvis det ikke var et sikkert system.

Ellers nogen kommentar til det?
Avatar billede inteeeL Nybegynder
22. juli 2012 - 00:07 #3
Systemet ser fornuftigt ud; i stort set alle tilfælde, hvor klienten skal samarbejde med databasen bliver de forskellige inputs valideret fint. Men som claes57 nævner, ville det være fordelagtigt at omskrive sql-delen til prepared statement og dermed opnå endnu højere sikkerhed.
Avatar billede Klaphattens Novice
22. juli 2012 - 00:46 #4
Tak claes og inteeeL.
det er dejligt at se at man selv har set den ene ting der bliver nævnt. så er jeg da ikke helt lost :o)

Jeg har først prøvet at download hans system for at test det. da jeg kørte det første gang kom følgende fejl:

Notice: Undefined variable: loginattempts_username in C:\xampp\htdocs\login\authenticate.php on line 323

Notice: Undefined variable: loginattempts_total in C:\xampp\htdocs\login\authenticate.php on line 323

Kan i se fejlen. Da det er copy/paste passer det med hans linje.
<?php if (($loginattempts_username > 2) || ($registered == FALSE) || ($loginattempts_total > 2)) { ?>


Jeg vil selv skrive det om så det passer bedre til mig, men jeg vil lige have originalen til at virke først.
Avatar billede DeeDawg Nybegynder
22. juli 2012 - 01:17 #5
Det er såmen ikke en fejl, men mere for at gøre dig opmærksom på at der bliver brugt fiktive variabler. Slår du error_reporting fra, vil disse meddelelser forsvinde, men det betyder ikke at du bare kan glemme alt om det. Før du prøver at bruge en variabel, bør du altid tjekke om den eksisterer først.

Derudover har jeg kun skimtet koden og den ser umiddelbart fin ud. Som du allerede ved, skal MySQLi eller lign. indføres, men jeg fandt også et andet problem. I authenticate.php omkring linje 287, tror personen bag dette script at han eliminerer session fixation ved at kalde session_regenerate_id(). Det er dog ikke tilfældet, eftersom den gamle data stadigvæk ligger på serveren, og derved giver en evt. hacker mulighed for at bruge det til at få adgang. Der skal kaldes session_regenerate_id(true), for at være sikker på at den gamle data fjernes. :)
Avatar billede Klaphattens Novice
27. august 2012 - 10:25 #6
Jeg lukker lige tråden

Clase og DeeDawg --> kan i ikke lige smide et svar.
Ellers lukker jeg den selv om et par dage.
Avatar billede claes57 Ekspert
27. august 2012 - 10:31 #7
bare luk uden mig...
Avatar billede Klaphattens Novice
04. september 2012 - 13:28 #8
Luk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester