objorkum Skrevet 3. april 2005 Del Skrevet 3. april 2005 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
Gilbert Skrevet 3. april 2005 Del Skrevet 3. april 2005 md5($passord) til mysql for å sjekke: if ($passord == md5($passord)) { echo "innlogget"; } Lenke til kommentar
objorkum Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 (endret) 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 3. april 2005 av objorkum Lenke til kommentar
jorgis Skrevet 3. april 2005 Del Skrevet 3. april 2005 (endret) 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 3. april 2005 av jorgis Lenke til kommentar
objorkum Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 (endret) Poenget var vel her at passordet IKKJE skal ligge i klartekst i fila, ellers hadde eg ikkje blanda inn MD5 i det heile, men brukt koden i første posten. Endret 3. april 2005 av objorkum Lenke til kommentar
jorgis Skrevet 3. april 2005 Del Skrevet 3. april 2005 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? Lenke til kommentar
objorkum Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 (endret) 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? 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 3. april 2005 av objorkum Lenke til kommentar
Christian_ Skrevet 3. april 2005 Del Skrevet 3. april 2005 da må du jo nesten kjøre strip_tags() og htmlentities(), kanskje noen andre også for å være sikker. Lenke til kommentar
objorkum Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 Jaja, men OM eg skulle ha gløymt det på eit skript... Eller andre svakheitar... Lenke til kommentar
jorgis Skrevet 3. april 2005 Del Skrevet 3. april 2005 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
objorkum Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 (endret) 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 3. april 2005 av objorkum Lenke til kommentar
ilpostino Skrevet 3. april 2005 Del Skrevet 3. april 2005 men går det ann å gjøre slik at passordet krypteres på brukersiden før det sendes til serveren for vallidering...? Lenke til kommentar
jorgis Skrevet 3. april 2005 Del Skrevet 3. april 2005 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
olear Skrevet 3. april 2005 Del Skrevet 3. april 2005 men går det ann å gjøre slik at passordet krypteres på brukersiden før det sendes til serveren for vallidering...? SSL Lenke til kommentar
christt Skrevet 4. april 2005 Del Skrevet 4. april 2005 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
ilpostino Skrevet 4. april 2005 Del Skrevet 4. april 2005 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå