Scoutnet vzw

We connect scouts!
Het is momenteel 27 Apr 2024 13:05

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 3 berichten ] 
Auteur Bericht
BerichtGeplaatst: 20 Dec 2006 17:24 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 02 Sep 2003 23:00
Berichten: 108
Woonplaats: De Magneet
als ik een include() gebruik om pagina's in te laden met nen GET is dit naar het schijnt nogal gevaarlijk vermits iedereen alles in den url kan zette.

Nu om dit wat te beveiligen heb ik de pagina's die include worden in een apparte map gezet (dus include($map/..)) en de pagina's die mogen geladen worden in een array gezet.

Nu dit werkt alle 2, maar ik vroeg me af of die 2 controles nodig zijn of dat 1 van de 2 meer dan genoeg is?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 20 Dec 2006 19:22 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
In een array aangeven welke pagina's mogen geinclude worden is veilig genoeg. Wat je ook kan doen, is enkel "relatieve" includes toelaten (alles binnen je public_html-folder). Dat kan je doen met iets als:

Code:
<?php

if (isset($_GET['pagina'])) {
  // kijken welke pagina moet worden ingevoegd
  $pagina = $_GET['pagina'];
} else {
  // indien geen pagina opgegeven, de standaard pagina tonen
  $pagina = "home.php";
}

if (ereg("http://",$pagina)) {
  // in $pagina komt een http:// voor: blokkeren
  die("Illegale include");
} else {
  // de variabele $pagina lijkt veilig: invoegen
  include($pagina);
}

?>

Je kan hier natuurlijk nog veel verder in gaan (bijvoorbeeld enkel pagina's die eindigen op "htm" of "php" toelaten).

To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 21 Dec 2006 18:51 
Offline
 
 

Geregistreerd: 27 Aug 2005 16:13
Berichten: 50
Woonplaats: Deurne
Voor 100% veiligheid zou ik dat op een andere manier doen.

Gewoon steek alle toegelaten bestanden in een array en kijk dat enkel die mogen worden geinclude, of doe het wet een switch.

Je kan dan ook nog zorgen dat de bestanden apart niet kunnen worden opgevraagd door een if controle op url of er een globale var is...


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 3 berichten ] 

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 23 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.