toss Skrevet 15. juni 2006 Del 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.. Lenke til kommentar
-morten Skrevet 15. juni 2006 Del Skrevet 15. juni 2006 Linjeskift på slutten av fila? Lenke til kommentar
ZoRaC Skrevet 16. juni 2006 Del 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? Lenke til kommentar
bosannes Skrevet 16. juni 2006 Del 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. Lenke til kommentar
playahead Skrevet 16. juni 2006 Del Skrevet 16. juni 2006 if(trim($a) == $b) { ... Lenke til kommentar
Peter Skrevet 16. juni 2006 Del Skrevet 16. juni 2006 Strenger sammenlignes med strcmp eller evt strcasecmp dersom du vil ha case-insensitive sammenligning. Lenke til kommentar
toss Skrevet 16. juni 2006 Forfatter Del 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 Lenke til kommentar
-morten Skrevet 16. juni 2006 Del 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. Lenke til kommentar
toss Skrevet 16. juni 2006 Forfatter Del Skrevet 16. juni 2006 var sikker %0D.. tusen takk for svar! Lenke til kommentar
Peter Skrevet 17. juni 2006 Del 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 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å