View Single Post
Sitat av Nikon01 Vis innlegg
Takk for svar begge 2.

@Yochi :
Hvorfor bruker man her ? ved username og password i querryen?
Hvis jeg nå kjører password_verify, hvordan henter jeg ut hashen fra databasen for å sammenligne? Regner med jeg må dette?

For å sjekke brukernavn og passord så kjører jeg 2 IF statements da? Først sjekker jeg om passord stemmer også hvis det gjør det kan jeg kjøre en IF inni der om at hvis brukernavnet stemmer så sendes personen videre?

Setter pris på et eksempel da PHP har forandret seg en del siden jeg holdt på med dette sist.


@Stingray :
Ja MD5 husker jeg godt "Back in the days".

Bruker som regel ALDRI ren PHP selv for tiden da vi bygger på Wordpress, og dette blir da litt anderledes å slipper å tenke på sånt. Men ønsker gjerne å lære ren PHP for videre utvikling selv
Vis hele sitatet...
Spørsmålstegnene er grunnen til at du bruker "$stmt->bind_param()", det er der input faktisk mappes til SQL-spørringen din for å gjøre det sikrere i forhold til SQL-injections. Vil anbefale deg å se litt mer på denne siden.

Så lenge du hasher brukerinput på samme måte som du hasher passordet når det lagres til databasen vil jeg tro det holder å sammenligne hash med hash. Så da trenger du egentlig bare SQL-spørringen der du sjekker om "brukernavn == brukernavn" og "input-passord-hash == lagret-passordhash".

Du trenger ikke 2 IF-setninger. <SELECT * FROM login WHERE username="yochi" AND password="hashen-av-passordet-mitt"> vil bare returnere en rad om begge disse sjekkene stemmer. Så da har du allerede kontrollert min input mot det du har lagret.