Hi!
ist es möglich zu erkennen, ob eine Datei included wurde oder nicht?
... mal abgesehen davon, dass ich in der index.php eine Variable setzen könnte, die in der inc.php überprüft wird :)
Wenn register_globals (immer noch) eingeschaltet ist, kann man diese Variable einfach überschreiben. Besser wäre eine Konstante.
Der Aufruf der inc.php brächte dem Aufrufer gar nichts, wenn kein Code ausgeführt wird, der irgend ein sofortiges Ergebnis bringt. Das Zuweisen von Variablen ist harmlos, ebenso das Deklarieren von Funktionen und Klassen.
Ansonsten kann man testen, ob __FILE__ ungleich dem aufgerufenen Script ist, das in einer ser $_SERVER-Einträge genannt wird. Und man könnte den debug_backtrace() auswerten, was aber ungleich aufwändiger als der Dateinamensvergleich ist.
Abgesehen von diesen direkten Lösungen ist es besser, das Problem durch Verwendung eines Außerhalb-DocumentRoot-Verzeichnisses ganz zu vermeiden. Dazu braucht es eine Verzeichnisstruktur ähnlich jenem Beispiel. Die Wurzel des Kundenverzeichnisses und die projektspezifischen Wurzeln sowie alle Verzeichnisse "neben" den docroots sind unereichbar, wenn alle zum Hosting-Paket gehörenden Domains (inklusive Inklusivdomains bei manchen Hostern (1&1 zum Beispiel)) nur auf diese docroot-Verzeichnisse zeigen und nicht auf Wurzeln.
Lo!