Gå til innhold

Treng litt hjelp med kryptering


Anbefalte innlegg

Har eit enkelt passordskript som er ca. slik (forkorta versjon):

 

<?php

if ($_POST["brukarnamn"] == "jeje" && $_POST["passord"] == "jaja")
{
    her startar session osv
}

else
{
    feil
}

?>

 

Brukarnamn og passord kjem då frå eit skjema.

 

Eg vil ikkje lagre passordet i klartekst slik det er i skriptet, vil gjerne kryptere det. Korleis gjer eg det? Reknar med eg først må kryptere ønska passord, så setje skriptet opp til å sjekke passordet som kjem fra skjemaet opp mot det krypterte.

 

Nokon som kan hjelpe?

Lenke til kommentar
Videoannonse
Annonse

Bruker ikkje MySQL. Dette ser ut til å fungere bra, men er det rett gjort?

 

if ($brukarnamn == "jeje" && md5($passord) == "d85abe1b38061ce97cf1a97caf5236ch")

 

Endra litt på sjølve MD5-summen.

 

For å finne MD5-en tok eg echo av md5($passord)

Endret av objorkum
Lenke til kommentar

if ($brukarnamn == "jeje" && md5($passord) == "d85abe1b38061ce97cf1a97caf5236ch")

 

Kan uten problemer bli til

 

if ($brukarnamn == "jeje" && md5($passord) == md5("passordetditt"))

 

Hvis du mener det er lettere å holde styr på. ;)

Endret av jorgis
Lenke til kommentar
Ah, misforstod første post i tråden. Beklager det.

 

Koden du har i din post ser helt korrekt ut, den. Noen spesiell grunn til at du ikke vil ha passordet i klartekst?

:thumbup:

 

Tja, for eksempel om det er ein svakheit i eit skript som eg ikkje er klar over, f.eks eit gjestebokskript.

 

F.eks om det går an å bruke PHP-tags når ein skriv i gjesteboka, kan jo dei jo berre lese ut innhaldet i fila og få passordet i klartekst... Lite sannsynleg, menmen...

Endret av objorkum
Lenke til kommentar

PHP-kode er ikke det samme som SQL-kode. Det er ikke mulig å kjøre "PHP-injection exploits" med mindre du bruker eval() eller lignende tullekode, så det er liten risk for at noen kjører PHP-kode på din server. Men selvfølgelig er det jo mulig å gjøre mye rart som kan trenge inn, men da er et passord til en gjestebok en heller liten sak i det store og hele. ;)

Lenke til kommentar
PHP-kode er ikke det samme som SQL-kode. Det er ikke mulig å kjøre "PHP-injection exploits" med mindre du bruker eval() eller lignende tullekode, så det er liten risk for at noen kjører PHP-kode på din server. Men selvfølgelig er det jo mulig å gjøre mye rart som kan trenge inn, men da er et passord til en gjestebok en heller liten sak i det store og hele. ;)

Passordet er nok ikkje til gjesteboka du... Tør i alle fall ikkje bruke eit av mine hovudpassord, og ha det i klartekst.

 

F.eks om ein kan bruke PHP-kode i gjesteboka, kan ein vel køyre (på GNU/Linux):

 

passthru("cat /path/til/php.fil");

 

Og printe alle tegn slik at dei ikkje blir tolka som PHP/HTML.

 

Kan lage eit døme om nokon ikkje forstår...

Endret av objorkum
Lenke til kommentar

Joda, men greien er at man ikke kan kjøre PHP-kode i gjesteboken, og om ting er slik at man kan det (alvorlig sikkerhetshull, skal vanskelig la seg gjøre å få et hull så stort ;) ), så er det uansett ikke mye som hindrer noen å gå enda lenger, og gjerne ta kontroll over mer enn bare en gjestebok elns.

 

Ta følgende kode:

$x = $_POST['gjestebokkommentar'];

 

Hvis noen putter inn "system('ping -f www.slashdot.org')" (stygg kode som kan f.eks. kjøre ping of death mot folk hvis serveren er passe dårlig satt opp) der, vil ikke koden bli seende slik ut når PHP skal kjøre den:

 

$x = system('ping -f www.slashdot.org');

 

men slik:

 

$x = "system('ping -f www.slashdot.org')";

 

, altså bare strengen, slik at funksjonen ikke blir kjørt. Med mindre du gjør noe alvorlig dumt noe (eval(), for eksempel) kan ingen gjøre noe sånt. Så lenge du passer litt opp for include(), eval() og filhåndtering skal det meste gå greit. ;)

Lenke til kommentar
men går det ann å gjøre slik at passordet krypteres på brukersiden før det sendes til serveren for vallidering...?

Det finnes Javascript som kan konvertere til md5. Slik at man kan gjøre denne konverteringen på klientsiden. Det kan være et alternativ om man vil ha litt mer sikkerhet og ikke har mulighet for SSL.

Lenke til kommentar
men går det ann å gjøre slik at passordet krypteres på brukersiden før det sendes til serveren for vallidering...?

Det finnes Javascript som kan konvertere til md5. Slik at man kan gjøre denne konverteringen på klientsiden. Det kan være et alternativ om man vil ha litt mer sikkerhet og ikke har mulighet for SSL.

fant tilogmed dette scriptet.... så da blir det iallefall litt sikrereenn hvis det sendes i klartekst...

Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...