Gå til innhold

Dobbel include??


Gjest Slettet+432

Anbefalte innlegg

Videoannonse
Annonse

det er mange veldig viktige ting å tenke på med include scripts for det er veldig fort gjort å glemme småting som gjør at besøkende kan kjøre forskjellige skumle script på serveren din, og man kan også veldig fort få full tilgang til andre deler av serveren og i noen tilfeller hele nettverk gjennom include med som sagt små hull.

 

en trygg måte å sette det opp på er sånn:


<?php



$includes_dir = 'files/';

// path to your inclusion files



$includes_ext = '.html';

// extension name of your files



$var_name = 'page';

// the variable name to be used in the query string



$default_page = 'welcome';

// the default page to include



$error_page = '404.html';

// redirects this page if the requested file is not found





if (empty($var_name)) {

  $var = $_SERVER['QUERY_STRING'];

} else {

  $var = $_REQUEST[$var_name];

}



if (empty($var)) {

$var = $default_page;

}



$file = $includes_dir.basename($var).$includes_ext;



if (file_exists($file)) {

include($file);

} else {

header('Location: '.$error_page);

}



?>

 

dette kan da includeres i en index.php fil med include("script.php");

 

det sørger for at man ikke kan skrive:

server.com/?page=http://skummelserver.com/script.php

 

man kan heller ikke skrive:

server.com/?page=../../hemmeligpassordfil

 

så det er da måten hvis man har alle filene i en egen mappe og bare vil includere derfra.

 

men den måten jeg liker best er å enten bruke array eller db, da kan man garantert ikke include noe som ikke står i enten array eller db.

Lenke til kommentar
Gjest Slettet+432

Jeg prøver den metoden som BlueEagle kom med... Skal prøve begge, men prøver den først.

 

Jeg bruker passordbeskyttelsen (fullstendig login side) som ligger på www.minlilleverden.net.

 

Jeg har passordbeskyttet legg til ny bruker filen, så det er ikke noen risk.

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