Ein paar Ergänzungen:
- Benutzer authentifizieren (lassen)
- Zugriff erlauben oder verbieten
Macht gegebenenfalls der IIS bereits außerhalb und vor dem PHP-Script-Aufruf (z.B. NTLM-Authentification). Oder der Apache über .htaccess.
Die Problemstellung wurde im konkreten Einzelfall mit "Das Login läuft ganz normal über PHP und Sessions." beschrieben. Darauf habe ich mich bezogen. Entschuldige bitte, dass ich nicht ein umfassendes Werk veröffentlicht habe, mit welchem sich jedes Problem unter allen denkbaren Umständen lösen lässt.
realpath() macht jedoch den Job schon sehr viel länger.
Das stimmt. Aber es reicht eben gerade nicht. Wenn Du schon (entgegen der konkreten Problemstellung) auf den Apache verweist, dann sollte man auch mindestens Dateien und Verzeichnisse nicht (oder nicht ohne spezielle Konfiguration) ausliefern, welche mit '.ht' beginnen, weil der Apache das in der Standardkonfiguration so vorsieht und sich Entwickler oder eben Dritte, welche die auszuliefernden Dateien in das Dateisystem einstellen, womöglich gewohnheitsmäßig darauf verlassen. Die von mir mit "UMFASSEND" beschriebene Prüfung verlangt also mehr.