Avatar billede dusted Nybegynder
27. november 2005 - 13:10 Der er 11 kommentarer

Forms sjov lille ting jeg ikke forstår

Hej, jeg har ikke en ssl server, men vil gerne bruge lidt sikkerhed alligevel..

Så til mit login system har jeg et javascript som laver passwordet om til MD5 før det bliver smidt afsted, dette fungerer ganske nydeligt og ser ud som følger:

<script src="md5.js" type="text/javascript"></script>
<form action="login" method="post">
<input type="password" name="pass">
<input type="submit" onclick="crypt.value = hex_md5(pass.value)">
<input type="hidden" name="crypt">
</form>

Nu kommer problemet så.. For den sender jo ikke bare den krypterede "crypt" den sender jo også "pass".
Jeg har prøvet at smide input boxen ud af formen, men så virker det ikke.

Hvordan forhindrer jeg at "pass" bliver sendt ?
Avatar billede johan.o Nybegynder
27. november 2005 - 16:07 #1
<input type="submit" onclick="crypt.value=hex_md5(pass.value); this.form.pass.value='';">

Mvh. Johan
Avatar billede johan.o Nybegynder
27. november 2005 - 16:08 #2
men kunne du ikke blot lave dette ? :

<script src="md5.js" type="text/javascript"></script>
<form action="login" method="post">
<input type="password" name="pass">
<input type="submit" onclick="this.form.pass.value = hex_md5(this.form.pass.value)">
</form>

Mvh. Johan
Avatar billede johan.o Nybegynder
27. november 2005 - 16:13 #3
og...øger det sikkerheden at 'krypte' pass før afsendelse ? Lad os forestille os at 'nogen' opsnapper dit sendte pass, så er md5() værdien vel ligeså værdifuld..hvis ikke mere...som den ukrypterede...eller er jeg helt forkert på den ?

Mvh. Johan
Avatar billede roenving Novice
27. november 2005 - 16:16 #4
Hvis den krypterede værdi skal bruges til opslaget er den præcis lige så sikker uden kryptering !-)
Avatar billede dusted Nybegynder
27. november 2005 - 16:44 #5
well, det jeg tænker på er egentlig mere brugerens password, altså, at de ikke flyver from og tilbage, så hvis nogen endeligt opsnappede md5 strengen, kan de kun misbruge brugerens konto på min side, ikke alle andre, da de reelt ikke ved hvad passwordet er..
Avatar billede dusted Nybegynder
27. november 2005 - 16:47 #6
forresten, hvordan giver jeg de point ud så vi kan afslutte ?
Avatar billede johan.o Nybegynder
27. november 2005 - 19:10 #7
Jamen, jeg ligger da bare et svar, hvis det altså virkede :)

Og jeg kan da godt se din pointe, men et eller andet sted så gør det vel dit site MERE sårbart hvis du ikke laver yderligere hashing eller andet EFTER at du har modtaget pwd, men jeg ønsker ikke at blande mig utidigt i noget du ikke har ønsket at jeg skal blande mig i :)

Mvh. Johan
Avatar billede Slettet bruger
27. november 2005 - 22:25 #8
Hvis du vil øge sikkerheden en smule, vil jeg foreslå noget i denne stil:

Benyt en engangsværdi, som md5es sammen med passwordet, og som også sendes med formularen. Serveren skal så kontrollere, at denne engangsværdi ikke tidligere er brugt ved et succesfuldt login.

En engangsværdi kan enten være genereret af serveren, når den laver formularen, eller være f.eks et tidsstempel, som genereres af javascriptet.

Metoden med den servergenererede engangsværdi kaldes ofte Challenge/Response.
Avatar billede dusted Nybegynder
28. november 2005 - 17:05 #9
mange tak for nogle rigtigt gode svar :)
Kan godt se det helt geniale i at bruge en Challenge/Response, vil jeg se nærmere på :)
Avatar billede johan.o Nybegynder
29. november 2005 - 22:22 #10
Jeg kunne da godt tænke mig at se indholdet af din md5.js fil hvis det kan lade sig gøre :)

Mvh. Johan
Avatar billede dusted Nybegynder
30. november 2005 - 17:29 #11
Nu er matematik (eller logik) ikke min stærke siden, men kan konkludere at den giver samme resultater som md5(); i php gør..

Jeg fandt den her:
http://pajhome.org.uk/crypt/md5/md5src.html
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