Moderator |
|
daarnaast, @script
Het hele script wordt nog steeds doorlopen als je header.php aanroept... header() wordt namelijk pas uitgevoerd als het script helemaal klaar is... Dit zie ik wel vaker gebeuren als header() wordt gebruikt.
dus ofwel je doet dit:
<?php
// Een beveiliging om te voorkomen dat men in je header.php probeert te openen.
if(basename($_SERVER['PHP_SELF']) == "header.php") {
header("Location: index.php");
exit; // STOP de verdere verwerking van dit script
}
?>
<?php // Een beveiliging om te voorkomen dat men in je header.php probeert te openen. if(basename($_SERVER['PHP_SELF']) == "header.php") { header("Location: index.php"); exit; // STOP de verdere verwerking van dit script } ?>
Of, wellicht beter, introduceer een CONSTANTE en kijk of deze is gedefinieerd in je include, if not, dan weet je dus dat een include rechtstreeks wordt aangeroepen:
<?php
if (!defined('INCLUDES_ALLOWED')) {
die('toegang geweigerd');
}
?>
<?php if (!defined('INCLUDES_ALLOWED')) { die('toegang geweigerd'); } ?>
daarnaast #2
gebruik require_once() ipv include(_once)(). |