Avatar billede steen-h Mester
26. februar 2011 - 06:49 Der er 7 kommentarer og
1 løsning

Login med salt

Jeg har et login som jeg har tilføjet salt.

For at lave det mere sikkert koder jeg det med md5 med java script

Jeg bruger samme salt til alle brugere, for at overføre salt til java script bruger jeg et hidden felt, men så er min salt synlig for alle.

Hvordan overføre jeg en php variabel til java script så den er skjult ?
Hvis jeg skriver den direkte i mit login script er den jo også synlig.

Jeg har lavet scriptet så at når man trykker på login læses det indtastede kodeord og min salt de samles og kodes med md5 og derefter udskiftes med det indtastede kodeord inden formen submittes.

Det har så bevirket at FF spørger om den skal gemme det nye kodeord.

Så lavede jeg skriptet om så det undersøgte om kodeordet var 32 tegn hvis det var bliver formen submittet
Er det en sikker løsning ?

Håber jeg kan få hjælp til mine spørgsmål
Avatar billede jakobdo Ekspert
26. februar 2011 - 08:02 #1
Du skal ikke bruge md5() i javascript.
Det gør ikke sikkerheden mere sikker.
Skal du lave noget som er sikkert, så brug https.
Salt bruges, for gøre md5 mere sikkert.
Avatar billede steen-h Mester
26. februar 2011 - 08:33 #2
Jeg er med på at salt gør md5 mere sikker.

Troede bare at hvis man krypterede med java script f.eks med følgende script blev det hele mere sikker da det er det krypterede kodeord som sendes over nettet.
http://pajhome.org.uk/crypt/md5/instructions.html
Avatar billede jakobdo Ekspert
26. februar 2011 - 08:41 #3
Tja, der har du vel sådan set ret.
En som sniffer, kan ikke aflæse kodeordet, men kun hash værdien.
Hvilken dog så igen kan bruges til at logge ind med.
For vedkommende skal så bare sende denne hash til din server og så er vedkommende logget ind.
Avatar billede steen-h Mester
26. februar 2011 - 08:59 #4
Det var også den konklusion jeg var kommet frem til.

Nu er det kun en side for en lille forening, men derfor vil jeg gerne gøre det sikkert.

Syntes bare https lyder avanceret, men jeg går i gang med at google.
Avatar billede steen-h Mester
26. februar 2011 - 09:27 #5
Jeg ser 2 problamatikker.

Hvis jeg koder med java script med salt vil en sniffer få svært ved at finde kodeordet i en rainbowtables og finde mit kodeord. Og det er det jeg gerne vil løse først.

Men kan stadig logge ind på denne side, der skal så bruges https.


Hvordan kan jeg overføre min salt fra php til java script uden at den kan findes ?

Som jeg gør nu i et hidden felt er det meget synligt.
Avatar billede steen-h Mester
26. februar 2011 - 15:43 #6
jakobdo læg et svar, og så vil jeg gerne have at du svare på følgende.

Hvis du skulle lave et login til en lille forening ville du så lave det med en almindlig form og så krypter kodeordet med md5 på serveren inden det puttes i databasen, evt tilføjet salt ?

Ikke noget med javascript ?

Tak for hjælpen
Avatar billede jakobdo Ekspert
26. februar 2011 - 17:06 #7
Hvis det "bare" er til et lille site, så ville jeg overføre brugernavn og kodeord i "plaintext" og salte det og så tjekke mod db.
Og også gemme det saltet i db.
Alternativt kan du overveje sha1 og ikke md5.

Og du får et svar.
Avatar billede jakobdo Ekspert
27. februar 2011 - 09:06 #8
Takker for point
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