Gå til innhold

Lese .php med XAMPP uten .php etter filnavn?


Anbefalte innlegg

På Linux serveren min kan jeg lese www.domene.no/filnavn.php som www.domene.no/filnavn

Dette ser jo nærmest estetisk bedre ut. Hvordan kan jeg konfigurere XAMPP i XP slik at jeg kan kjøre localhost/filnavn og ikke bare localhost/filnavn.php ?

 

Er det noen grunner for eller imot å droppe ekstensjonen i linksystemet på en nettside? Noen tanker?

 

Takk!

Lenke til kommentar
Videoannonse
Annonse

Du ma for all del ikke kjorer filer uten filendelse som php. Det er nok en veldig stor sikkerhetsrisiko. Tenk hvis noen laster opp en fil uten filendelse via et opplastingsscript. Enten ved a fikse slik at opplastingssystemet tror at den har et etternavn, eller ikke. Men hvis da opplasteren vet hvor filnee blir lagret, kan han/hun kjore hva som helst pa serveren din.

 

Gjor som BigJackW sier, og se litt pa mod_rewrite :)

Lenke til kommentar
Gjest Slettet+142
Du ma for all del ikke kjorer filer uten filendelse som php. Det er nok en veldig stor sikkerhetsrisiko. Tenk hvis noen laster opp en fil uten filendelse via et opplastingsscript. Enten ved a fikse slik at opplastingssystemet tror at den har et etternavn, eller ikke.

9549137[/snapback]

Det kan vel enkelt sikres ved å sjekke om filen inneholder en dot(.) det?

Hvordan er det mulig å lure denne testen til å tro at filen ikke har en filendelse?

Det er vel forsosvet også greit å sjekke at første tegnet ikke er en dot..

 

$filnavn = "test_fil";
if(str_pos($filnavn, '.') === false || $filnavn{0}=='.') echo "Inneholder IKKE en \".\" !";
else echo "OK";

Lenke til kommentar
Du ma for all del ikke kjorer filer uten filendelse som php. Det er nok en veldig stor sikkerhetsrisiko. Tenk hvis noen laster opp en fil uten filendelse via et opplastingsscript. Enten ved a fikse slik at opplastingssystemet tror at den har et etternavn, eller ikke.

9549137[/snapback]

Det kan vel enkelt sikres ved å sjekke om filen inneholder en dot(.) det?

Hvordan er det mulig å lure denne testen til å tro at filen ikke har en filendelse?

Det er vel forsosvet også greit å sjekke at første tegnet ikke er en dot..

 

$filnavn = "test_fil";
if(str_pos($filnavn, '.') === false || $filnavn{0}=='.') echo "Inneholder IKKE en \".\" !";
else echo "OK";

9550485[/snapback]

Åneidu, det er mer du må sjekke isåfall. Mye av det underliggende opplegget i PHP er C, og i C er alle strenger null-terminert. Dvs. en streng slutter nå man finner en null-character (tegn nr. 0 i ASCII-tegnsettet). Dette introduserer en hel rekke gøyale ting. Blant annet blir "fil\0.php" i visse tilfeller til "fil". Nå tror jeg de fleste string-funksjonene på en eller annen måte kompenserer for problemet, MEN når det kommer til fil-funksjoner er det heller dårlig. Ta f.eks følgende kode. Hvis man oppretter fil med navnet fil i samme mappe skjer det saker og ting ...

<?php
$var = "fil\0";
if (file_exists($var.'.php'))
 echo "Finnes";
else
 echo "Finnes ikke";
?>

 

Edit: Tihi ... PHP-tagen sliter litt med \0 gitt.

Endret av Ernie
Lenke til kommentar

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å
×
×
  • Opprett ny...