Gå til innhold

Passordkryptering - FØR submit...


Gjest anonym

Anbefalte innlegg

Gjest dorian

Hepp!

Her er en liten oppskrift på hvordan man krypterer passord på en login-form, FØR man sender noe til databasen.

Forskjellen er altså at passordet går som en md5-hash over nettet, i stedet for å gå i klartekst m/kryptering på serversiden.

Først må du ha et md5 javascript, som gir deg samme krypteringsrutinene som f.eks. php's funksjon md5(), men som kjøres lokalt i klienten:

Scriptet ligger her:

http://www.publicator.no/includes/script/md5.js

Dette inkluderes i <head> på den siden der login ligger (på vanlig måte).

Så trenger man en liten script-snutt som utfører md5-krypteringen. Den kan godt legges i siden rett før form-taggen starter:

<script language="javascript">

<!--

function doLogin() {

document.formname.hashpass.value = MD5(document.formname.password.value);

document.formname.password.value = "";

document.formname.submit();

}

// -->

</script>

Formname er her navnet på form'en.

Selve html-koden ser slik ut:

<form name="formname" method="post" action="dittscript.php">

<input type="text" name="username" size="9" maxlength="15">

<input type="password" name="password" value="" size="9" maxlength="70">

<input onClick="doLogin(); return true;" type="submit" value="Logg inn">

<input type="hidden" name="hashpass" value="">

</form>

Det som skjer når du klikker på Logg inn er at passordet klippes ut av password-feltet, md5-krypteres og limes inn som en hash i feltet hashpass. Og SÅ submittes form'en til databasen...

Det som må gjøres i tillegg hvis du allerede har passordene kryptert, er å fjerne krypteringen ved mottak av passordet (som jo kommer til serveren som klartekst), slik at sammenligningen går på hash mot hash.

Man må også sette opp php-scriptet til å sjekke feltet hashpass i stedet for feltet password ved mottak.

Alt i alt en ganske sikker login. Sikrere finnes, men da må man kjøre sessions icon_smile.gif

nerdian

Lenke til kommentar
Del på andre sider

Fortsetter under...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...