aber wenn ich den File via Browser aufrufe, kann ihn jeder lesen
Achso, ja dann musst du das natürlich auch so fragen.
Wie du richtig erkannt hast kann die Datei nur vom Eigentümer gelesen, -schrieben und ausgeführt werden. Das heißt entweder, dass du den Server von deinem eigenen Benutzer aus ausführst, oder, dass du den Eigentümer per Hand zu dem Benutzer des Webservers (oft "www") gesetzt hast. Allerdings hat das alles so gut wie gar nichts mit dem zu tun, was der Server am Schluss tatsächlich ausliefert (solange der Server selbst natürlich auf die Daten zugreifen kann).
Die Konfiguration der Zugriffsbeschränkungen der meisten Webserver wird über
.htaccess-Dateien geregelt. Ich gehe mal davon aus, dass du einen Apache Webserver benutzt.
Hier findest du die Dokumentation dazu.
Wenn du tatsächlich File3.php von der Auslieferung ausschließen möchtest, findest du
hier eine passende Konfiguration.
Aber: Das ist ganz schlechter Stil. Wenn du auf dem Webserver Dateien hast, die zwar irgendwie der Logik deiner Seite dienen, aber nicht öffentlich einsehbar sein sollen, dann haben die gar nichts in dem Ordner verloren, den du per Server auslieferst.
In deinem Beispiel heißt der Ordner, der bereitgestellt wird, einfach "Verzeichnis". Neben "Verzeichnis" sollte es noch einen zweiten Ordner geben – nennen wir ihn "Appdata". Solche Dateien wie File3.php sollten gar nicht in "Verzeichnis" liegen, sondern in "Appdata". Dann kannst du die UNIX Dateizugriffsregeln für "Verzeichnis" und "Appdata" separat setzen, ebenso wie die Serverkonfiguration, und es wird
niemals etwas aus "Appdata" versehentlich in den Weiten des Internetz landen. In "Verzeichnis" gehört wirklich nur das rein, was auch tatsächlich für alle einsehbar sein soll.
Gruß Technipion