Gå til innhold

Ang. dynamisk webside


Anbefalte innlegg

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
Videoannonse
Annonse

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

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