Gå til innhold

Sikkerhet, hente kildekode for script


Anbefalte innlegg

Skrevet

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 ?

Videoannonse
Annonse
Skrevet (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 av trondes
Skrevet

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.

Skrevet

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...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...