RulleRimfrost Skrevet 28. april 2006 Del Skrevet 28. april 2006 Hei. Er det en enkel operasjon å lese kildekoden for php-script, altså å omgå generert html-output. Om en foreksempel setter filen top_secret.php til: <form method='POST'> <input type='text' name='input'> <input type='submit'> </form> <? define[PASSORD, "hemmelig"]; if ($_POST["input"] == PASSORD);{echo "tallet er 5";} else {echo "Finn sett inn hemmelig passord";} ?> Hvor lang tid tar det for en uten svart belte i script-fu å finne tallet ? Lenke til kommentar
trondes Skrevet 28. april 2006 Del Skrevet 28. april 2006 (endret) Hvis vi ser bortfra feilen du har i koden din så ville ikke noen klare å få tak i tallet uten å ha skrevet inn rett passord ( så lenge den er lagret som en PHP fil ). Hvis noen klarer å komme seg inn på ftp kontoen din så ser dem den, men det er en annen diskusjon. Det kan også skje at webserverne blir feil konfigurert en dag, og ikke kjører php koden før den blir sendt ut. da vil folk kunne se php koden din. Men det skjer også veldig skjeldent. For å løse dette kan du lagre passord og slik i en fil som er plassert uten for selve web-mappen og bruke include() får å få med deg innholdet i et annet script. Det er også mulig å skrive et program som prøver alle mulige passord også da, men så igjen vil dette ta noe noe tid, og du har muligheten til å beskytte deg mot det. Feks sperre en IP adresser i 5 min ved 3 feile forsøk. EDIT: nå skal det også sies at ikke alle servere vet at <? står for PHP, og om de dermed kan sende ut koden da vet jeg ikke. Endret 28. april 2006 av trondes Lenke til kommentar
Peter Skrevet 28. april 2006 Del Skrevet 28. april 2006 som trondes sa, ikke bruk short tags (<?), da det reduserer portabilitet, og kan bli misforstått i andre sammenhenger. I tillegg er det anbefalt å bruke strcmp-funksjonen(e) for å sammenligne strenger, i stedet for "==". Passord burde, om du har mulighet, plasseres utenfor webområdet, eller ihvertfall i en mappe som er beskyttet med chmod og .htaccess, gjerne at filen selv også har en chmod som gjør den utilgjengelig via http. Lenke til kommentar
RulleRimfrost Skrevet 28. april 2006 Forfatter Del Skrevet 28. april 2006 Takker. Forstår det slik at Apache ikke vil utlevere utolket PHP, men at hemmeligheter bør legges separat da dårlig koding og serveroppsett kan knekke det. Ang feil når jeg koder fra hodet, er nok det helt naturlig. Jeg kjøpte den utmerkede boken Webprogrammering i PHP i påsken. Er ikke helt utlært enda Anbefales til dem som måtte være ganske grønn... 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å