toss Skrevet 15. juni 2006 Skrevet 15. juni 2006 hei holder på å lage et enkelt logginnskript hvor en hash av brukernavn og passord er lagret i en skjult fil, men jeg får det ikke til.. vet ikke helt hva som er problemet, men jeg tror det er file_get_contents().. har dette skriptet hvor fil.inc inneholder md5'en av 'jallajalla' når jeg kjører skriptet hos meg ser $a og $b helt like ut, men likevel får jeg ut at de er forskjellige fra if-testen.. $a = file_get_contents('fil.inc'); $b = md5('jallajalla'); if($a == $b) { echo('jippi'); } else { echo('neida..'); } echo "<br><br>$a<br>$b"; skjønner ikke hva som kan være gale her.. noen forslag? setter pris på all hjelp..
ZoRaC Skrevet 16. juni 2006 Skrevet 16. juni 2006 Litt offtopic, men vil ikke jeg kunne få tak i MD5-hashen om jeg går på www.dinserver.no/fil.inc?
bosannes Skrevet 16. juni 2006 Skrevet 16. juni 2006 Litt offtopic, men vil ikke jeg kunne få tak i MD5-hashen om jeg går på www.dinserver.no/fil.inc? 6317867[/snapback] Han sa vel at fila var skjult, men om du vet hvor den er kan du naturligvis åpne den. Mulig han kan CHMOD'e fila til 400 elns, men om noen får kjørt php fra kontoen kan de fortsatt lese den. Htaccess kan vel også være til hjelp.
Peter Skrevet 16. juni 2006 Skrevet 16. juni 2006 Strenger sammenlignes med strcmp eller evt strcasecmp dersom du vil ha case-insensitive sammenligning.
toss Skrevet 16. juni 2006 Forfatter Skrevet 16. juni 2006 (endret) filen ligger ikke i public_html, så det går nok ikke å få tak i den.. fant etterhvert ut at det ligger noen tegn etter strengen likevel.. noen som vet hvorfor de kommer der? de har koder %0E og %0A.. fikk det til med å bruke: $a = substr(file_get_contents('fil.inc'), 0, 32); men trim() er vel en enklere metode.. men vil ikke if($a == $b) være en fullgod måte å sammenligne strenger på? tusen takk for svar Endret 16. juni 2006 av toss
-morten Skrevet 16. juni 2006 Skrevet 16. juni 2006 Hvis du har en %0E der, så har du gjort noe rart. Men hvis du egentlig mente %0D, så er det sammen med %0A de to tegnene som markerer linjeskift i windows. if ($a == $b) funker fint ja. Alternativet strcmp() er binary safe, men det har ikke noe å si i dette tilfellet.
Peter Skrevet 17. juni 2006 Skrevet 17. juni 2006 (endret) men vil ikke if($a == $b) være en fullgod måte å sammenligne strenger på? 6319348[/snapback] Legg deg til gode vaner, så slipper du å bli tatt på sengen: http://no.php.net/manual/en/function.strcmp.php#49740 Dersom du absolutt ikke vil bruke strcmp-funksjonene, så bruk i det minste === så du får type-sjekk! Endret 17. juni 2006 av Nazgul
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å