Loginsystem(usikkert + dobble account)

Tags:    php

<< < 123 > >>
hejsa udviklere og andre :)

Jeg er igang med mit site og har brug for noget hjælp til mit SQl/login

problemet er at jeg har fået fortalt at mine koder er mega usikre, og så er der problemet at der kan laves 2 brugere med samme username i SQL'en

har en SQL der hedder: members:
med 2 tabeller
username
password

Her er mine koder:

opret.html
Fold kodeboks ind/udKode 


opret_ok.php
Fold kodeboks ind/udKode 


checklogin.php
Fold kodeboks ind/udKode 


main_login.php
Fold kodeboks ind/udKode 




Mange tak på forhånd :)



Indlæg senest redigeret d. 08.07.2009 23:30 af Bruger #14510
27 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
En lille kommentar. Hvis vi skal være ude og være rigtig sikker, bør du nok bruge SHA1 eller SHA256 i stedet for md5, da der er blevet flere alvorlige fejl ved md5:
http://da.wikipedia.org/wiki/SHA1

Krypter alle nye kodeord inden de gemmes i databasen, vær gang der oprettes ny bruger. Og vær gang du skal tjekke om et indtastet kodeord er korrekt, krypteres det også, så de to kodeord sammenlignes som kryptotekst.



Nu tager jeg din opret_ok.php

Fold kodeboks ind/udKode 


Derudover skal du lave følgende ændringer i opret.html:
Fold kodeboks ind/udKode 


Og følgende ændringer i checklogin.php:
Fold kodeboks ind/udKode 


Det skulle vist være det.



For det første skal du bruge Post i stedet for get, og for det andet, så skal du kryptere koderne, f.eks. med md5.



så skal du kryptere koderne, f.eks. med md5.


Der er ingen der siger man _skal_ hashe sine passwords, men det kan være en god idé.



nu jeg jeg ikke særlig klog inden for dette emne, og har ingen anelse om hvordan jeg kryptere mine passwords :(



@Daniel
Af hensyn til dine brugere bør du ALTID hashe deres kodeord. Det er et faktum at folk ofte bruger de samme kodeord til flere tjenester, så hvis blot en af disse bliver hacket, har hackeren koden til andre sider også.



@Kasper
Med PHP kan du hashe koder sådan her:
Fold kodeboks ind/udKode 


Ofte er det dog en god ide at bruge et salt som det hedder:
Fold kodeboks ind/udKode 


Ved at bruge et salt gør du det sværere for hackeren af finde koden via diverse sider der gemmer reverses af md5.

Hvis du i stedet vil bruge den mere sikre SHA1 som Shafh foreslår så gør du det således:
Fold kodeboks ind/udKode 


Selv hvis du vælger sha1, så bør du vide at den heller ikke er fuldstændig sikker. En mere sikker er sha 512, men den er også langsommere, og generere meget lange krypterede koder. Sha 512 bruges således:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 10.07.2009 16:45 af Bruger #12914
Mange taj emil :) det vil jeg prøve at gøre :D

men kan du lige hurtigt forklare hvor henne jeg burde placere koden?



jeg vil prøve det når jeg kommer hjem iaften :D

jeg vil lige vente med at låse tiil jeg ved om det virker helt :D

@Emil; 1000 tak for hjælpen, det sætter jeg stor pris på :D



Det var så lidt :)
Du skal lige være opmærksom på at du bør ændre $salt i begge filer de skal dog ændres til det samme, og at gamle brugere ikke længere vil virke.
Derudover vil de nye koder være meget lange... så sørg for at der er rigeligt plads til dem i databasen



Indlæg senest redigeret d. 12.07.2009 16:57 af Bruger #12914
<< < 123 > >>
t