Tach!
wie macht man ein Framework Setup bezogen auf:
- seine Zugriffsrechte im Datensystem
.htaccess
Framework-Dateien und andere Helfer müssen nicht im DocumentRoot liegen. Da müssen nur Dateien hin, die ausgeliefert werden sollen. Da es aber nicht immer gegeben ist, dass man abseits des DocumentRoots Platz hat, sollte man es vorsehen, dass die Dateien auch innerhalb zu liegen kommen können. Solange nur Klassen und Funktionen aber kein direkt ausführbarer Code in den Dateien enthalten ist, passiert nichts weiter, wenn sie direkt über einen Request aufgerufen werden. Andererseits schadet es auch nicht, wenn selbst diese Dateien per .htaccess verboten werden. Unbedingt sollte man Verzeichnisse schützen (Ausfrufen von PHP-Dateien verhindern), in denen temporäre Dateien zu liegen kommen, wenn man solche Verzeichnisse nicht abseits anlegen kann. Dateien hochladen und sie dann im Temp-Verzeichnis aufzurufen ist eine beliebte Vorgehensweise zum fremden Projekten Müll unterzuschieben.
Was die Zugriffsrechte im Dateisystem anbelangt, kannst du als Außenstehender nicht viel machen und musst dem Administrator vertrauen, dass der die Projekte ausreichend voneinander abschirmt. Aber Hinweise kannst du in der Dokumentation geben, wenn du in irgendwelchen Verzeichnissen Schreibrechte brauchst.
- Programm Entrypoint:
new App()
odernew Bootstrap()
Wie du magst. Es ist nur ein Name. Wenn mehr dahinterstecken sollte, müsstest du die Funktionalität erläutern, damit man da was einschätzen kann.
- Inizialisierungen: Pfad Konstanten, Datenbank Setup, Routering Defaults usw.
Da ist ein Kompromiss zwischen Sicherheit und Komfort gefragt, in dem Sinne, dass man dem Verwender keine zu großen Hürden beim Konfigurieren in den Weg legt, die Sicherheit aber trotzdem gewährleistet ist. Ini-Dateien innerhalb des DocumentRoot sind beispielsweise aufrufbar, wenn man nicht irgendeinen wirksamen Zugriffsschutz installiert. Der Aufruf einer PHP-Datei, die einen Haufen Konstanten definiert, aber diese Werte nicht ausgibt, ist hingegen ungefährlich, solange der Webserver PHP-Dateien durch PHP ausführen lässt statt sie direkt auszuliefern.
Ansonsten kommt es gut, wenn diese Dateien einfach zu finden sind, das heißt entsprechend benannt sind.
dedlfix.