Mira Skrevet 2. april 2005 Del Skrevet 2. april 2005 Jeg har nå søkt og søkt i jungelen av poster her på forumet som omhandler include. Men det er en ting jeg enda ikke forstår. På indexen min så ligger det sikre include scripet til jorgis: <div id="hovedfelt"> <?php error_reporting(0); $filnavn = $_GET['s']; $filendelse = '.php'; if (!$filnavn) { $filnavn = 'forside'; } if (!eregi("^((.*)/)", $filnavn)) { include $filnavn . $filendelse; } else { include "404.php"; } ?> Den henter inn forside.php på riktig måte. Men det jeg ikke får til er hvordan jeg gjør det med menyvalg. Om jeg ville hatt en link som heter "kontakt meg", som inkluder kontakt.php som er en mailform. Hvordan ser linken ut da? <a href="?"> Lenke til kommentar
Mira Skrevet 2. april 2005 Forfatter Del Skrevet 2. april 2005 *rive seg i håret* Jaja, takk i alle fall, godt at det er flere oppe så sent Lenke til kommentar
pgdx Skrevet 2. april 2005 Del Skrevet 2. april 2005 $filnavn = $_GET['s']; $_GET er et array av variabler som hentes fra adressefeltet. $_GET['s'] er variabelen som inneholder det som står etter s= i adressefeltet. Derfor må du ha index.php?s=siden Du kan også ha flere variabler i arrayet, som hvilke css-fil den skal bruke. index.php?s=siden&css=3 Da henter du den ut med $_GET['css'], som i dette tilfellet blir en 3-er. Lenke til kommentar
boemane Skrevet 3. april 2005 Del Skrevet 3. april 2005 Jeg har nå søkt og søkt i jungelen av poster her på forumet som omhandler include.Men det er en ting jeg enda ikke forstår. På indexen min så ligger det sikre include scripet til jorgis: <div id="hovedfelt"> <?php error_reporting(0); $filnavn = $_GET['s']; $filendelse = '.php'; if (!$filnavn) { $filnavn = 'forside'; } if (!eregi("^((.*)/)", $filnavn)) { include $filnavn . $filendelse; } else { include "404.php"; } ?> Den henter inn forside.php på riktig måte. Men det jeg ikke får til er hvordan jeg gjør det med menyvalg. Om jeg ville hatt en link som heter "kontakt meg", som inkluder kontakt.php som er en mailform. Hvordan ser linken ut da? <a href="?"> Er ikke så sikker på at følgende kode er så lur... if (!eregi("^((.*)/)", $filnavn)) { include $filnavn . $filendelse; } Bedre ville vel vært om du f.eks. hadde noe som: if ($filnavn == "kontakt") { include("kontakt.php"); } eller noe i den duren.. for ellers kan en hacker enkelt utnytte scriptet ditt til å f.eks. se på filer som ikke ligger under public_html mappa, eller en hvilken som helst fil for den saks skyld Greit at du inkluderer ".php" på slutten av fila, men mener likevel at det kanskje hadde vært bedre med en if-else blokk som laster en standard side (forsiden) dersom den ikke kjenner igjen s=side.... if ($filnavn == "kontakt") { include("kontakt.php"); } else if ($filnavn == "nyheter") { include("nyheter.php"); } else //ukjente filnavn { include("forsiden.php"); } Men dette er kanskje en smakssak .:BoeManE:. Lenke til kommentar
toss Skrevet 3. april 2005 Del Skrevet 3. april 2005 men dersom du for eksempel har en side med 50 artikler vil en slik if-løkke bli ekstremt stor, og det vil bli et herk å legge ut nye artikler.. Lenke til kommentar
pgdx Skrevet 3. april 2005 Del Skrevet 3. april 2005 (endret) Jeg pleier bare å kjøre en if (!file_exists($_GET['s].php)) { $s = 404; } Endret 3. april 2005 av drange_net Lenke til kommentar
ZoRaC Skrevet 4. april 2005 Del Skrevet 4. april 2005 Jeg pleier bare å kjøre en if (!file_exists($_GET['s].php)) { $s = 404; } Så da kan jeg skrive "?s=../../../.htpasswd" i adressefeltet så får jeg opp .htpasswd-filen din med alle brukernavn/passord (hvis den ligger i den mappen)... Lenke til kommentar
pgdx Skrevet 4. april 2005 Del Skrevet 4. april 2005 Ja, den php-filen kan du hente hvis du finner den. Lenke til kommentar
ZoRaC Skrevet 5. april 2005 Del Skrevet 5. april 2005 Ooops... sånn kan det gå når man ikke leser skikkelig... Men, uansett så kan jeg hente opp hvilken som helst PHP-fil på serveren din da... Ikke sikkert du har noe "skummelt/hemmelig", men man vet aldri.... Lenke til kommentar
christt Skrevet 5. april 2005 Del Skrevet 5. april 2005 Men, uansett så kan jeg hente opp hvilken som helst PHP-fil på serveren din da...Ikke sikkert du har noe "skummelt/hemmelig", men man vet aldri.... Det kan også i noen tilfeller bidra til at andre med konto på samme server kan få tilgang til filene dine, ved at de laster opp et script på sitt området som de kaller gjennom ditt script. 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å