Ich möchte, dass eine php-Datei nur durch eine andere php-Datei gelesen werden kann. Im Klartext heisst das:
Das ist - soweit ich das beurteilen kann - unmöglich. Wenn eine Datei dem Webserver (z.B. Apache) gehört, dürfen alle PHP-Scripte diese Datei lesen[1].
Die geheime Datei soll dann includet werden, aber wenn mann im Browser geheimedatei.php eingibt soll eine Fehlermeldung kommen.
Das ist ein simpler http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz@title=Zugriffschutz - der verhindert aber nicht, dass andere PHP-Scripte diese Datei lesen dürfen.
Welche Berechtigung muss ich da verteilen? Der Server lauft mit Linux.
Die Berechtigungen spielen hier keine Rolle da diese nur auf Dateisystemebene gelten - ob da 777, 700, 400 oder sonstwas steht sollte keine Rolle spielen solange "irgendwer" Leserechte hat der irgendwie PHP zuzuordnen ist.
[1] Nuff said - aber natürlich hängt das auch von der Konfiguration ab.