Door
Donster
op 25-08-2005 22:49
gewijzigd op 25-08-2005 22:49
924 views
Heyz,
Ik ben met een groot script bezig , die enkele includes bevat ..
Als je echter direct naar het include bestand gaat krijg je mysql errors te zien ( omdat die bestanden geen "include" naar de database connectie bevatten)
Mijn simpele vraag is:
Hoe kan ik ervoor zorgen dat als "iemand" het include file direct uitvoert , dat hij/zij een mooi error bericht krijgt ( zoiets als , Dit bestand dient niet "direct" te worden uitgevoerd)
If you want to prevent direct access to some files and only allow them to be used as include files by other scripts, then an easy way to accomplish that is to check a define in the include file.
Like this.
includefile.php
---
<?php
defined('_VALID_INCLUDE') or die('Direct access not allowed.');
<?php
if( basename($_SERVER['PHP_SELF']) == basename(__FILE__) )
{
die('File mag niet direct worden aangeroepen.');
}
?>
PHP_SELF bevat de locatie van het script, terwijl de constante __FILE__ de naam van het bestand bevat, als je dit in je te includen bestand zet kan het niet direct worden aangeroepen.