Nabend!
Die Zuverlässigkeit steht und fällt einerseits mit der Integrität der .htaccess (darf nicht geändert, gelöscht oder überschrieben werden können), andererseits mit der grundlegenden Apachekonfiguration. In der kann das Berücksichtigen der komplette .htaccess oder bestimmter Direktivengruppen geregelt werden.
Das wird ja über den Hoster geregelt. Da heißt es: Nachfragen.
Es gibt abseits einer Apache-Konfigurationsänderung mindestens drei Möglichkeiten, wie eine .htaccess ungewollt beinflusst werden kann.
Jemandem muss gelingen, eine Datei gleichen Namens in das Verzeichnis zu legen. Ein Kopierscript ohne ausreichende Prüfung und/oder Schreibrechte auf der .htaccess genügen.
Gibt es bei unserem System nicht. Wir haben strikt darauf geachtet, dass
die Scripts keine Lücken haben mit denen man unbefugt irgendetwas ändern
könnte. Es gibt ein Script, welches ein Profilbild hochlädt. Allerdings
ist dieses soweit abgesichert, dass sich 1. nur Bilder hochladen lassen
und 2. wird das Bild anschließend verkleinert. Das Bedeutet, das Script
würde sowieso abbrechen, da eine Textdatei nicht als Bild geöffnet werden
kann.
Jemand editieren den Dateiinhalt, wofür er Shellzugang benötigt oder ein Script missbrauchen kann, das für das Editieren einer anderen Datei vorgesehen ist und überredet werden kann, eine andere Datei zu bearbeiten. Wobei auch hier wieder Schreibrechte benötigt werden.
Bei uns wird alles über MySQL geregelt, es wird keine einzige Datei
bearbeitet. Also auch Glück gehabt ^^.
Jemand löscht die .htaccess, wofür er Schreibrechte im Verzeichnis benötigt, denn Löschen ist eine Schreiboperation in einem Verzeichnis. Die einzelnen Dateirechte interessieren dabei nicht.
Dazu müsste er den FTP-Zugang hacken...
Eine nur lesbare .htaccess wäre eine Notlösung. Berechtigungen können normalerweise mit FTP-Clients gesetzt werden.
Wieso eine Notlösung? Ist der Weg mit dem Ausschließen eines Verzeichnisses
aus htdocs die bessere Wahl?
BTW: Was muss dann in der .htaccess stehen?
deny from all
Das bezieht sich ausschließlich auf die Requests über den Webserver, nicht aber auf Dateisystemzugriffe aus PHP heraus.
Lo!
Danke, das hilft mir schon weiter :).
Am Besten sollte ich diese .htaccess Datei in den Ordnern packen, in denen
sich die ganzen PHP und INC-Dateien befinden.