Datei richtig chmodden
Peterle
- php
Hallo Leute
Folgendes:
Ich habe eine Datei, in der verschiedene Informationen gespeichert werden, die nicht irgendjemand über http, ftp, usw. aufrufen können soll.
Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
Wie muss ich die Datei nun chmodden?
Vielen Dank
Peterle
morgens,
Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
Wie muss ich die Datei nun chmodden?
Mit denselben Rechten, die dein PHP-Script entweder selbst hat oder neu setzt.
Christoph S.
Moin!
Folgendes:
Ich habe eine Datei, in der verschiedene Informationen gespeichert werden, die nicht irgendjemand über http, ftp, usw. aufrufen können soll.
Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
Wie muss ich die Datei nun chmodden?
Das ist problematisch bis unmöglich nur über chmod zu lösen.
Wenn PHP die Datei lesen können soll (von schreiben mal ganz abgesehen), dann muß der User, unter dem der Webserver läuft, die Datei lesen können. Wenn dieser User die Datei lesen kann, kann der Webserver die Datei auch ausliefern, wenn:
1. Die Datei innerhalb des Document-Root liegt
2. Die Auslieferung nicht durch die Webserverkonfiguration (httpd.conf oder .htaccess) verboten ist
Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess, sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).
- Sven Rautenberg
Hallo Sven
Danke für deine Antwort
Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess,
Was muss ich in die .htaccess reinschreiben?
sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).
Wie würde man das hinkriegen? Oder meinst du außerhalb des Stammordners? (das ist zumindest bei meinem Webspace ein Unterschied: document_root: "/a/n/c/" stammordner: c/)
Peterle
Moin!
Hallo Sven
Danke für deine Antwort
Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess,
Was muss ich in die .htaccess reinschreiben?
Zum Beispiel:
<Location /pfad/zur/datei.ext>
Order deny, allow
Deny from all
</Location>
Sowas geht zumindest in der zentralen httpd.conf - ob Location in .htaccess erlaubt ist, weiß ich jetzt spontan gerade nicht.
Oder du hast ein einzelnes Verzeichnis, in dem die Datei drin ist, und packst da nur
Order deny,allow
Deny from all
rein.
sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).
Wie würde man das hinkriegen? Oder meinst du außerhalb des Stammordners? (das ist zumindest bei meinem Webspace ein Unterschied: document_root: "/a/n/c/" stammordner: c/)
Document-Root ist ist das Verzeichnis, welches mit http://www.example.com/ angesprochen wird - das WWW-Hauptverzeichnis. Wenn du mit FTP noch eine Verzeichnisebene _höher_ kommst, kannst du dort (oder in auf dieser Ebene anzulegenden Unterverzeichnissen) deine Dateien ablegen. Sie sind dann vom Web aus unzugänglich, weil ein Zugriff der Art http://www.example.com/../verzeichnis/geheimedatei.ext eben _nicht_ ein Verzeichnis hochgeht, sondern gleichbedeutend ist mit http://www.example.com/verzeichnis/geheimedatei.ext - und diese Datei gibts eben an dieser Stelle nicht.
- Sven Rautenberg
hallo Sven,
ob Location in .htaccess erlaubt ist, weiß ich jetzt spontan gerade nicht.
Ist es nicht, siehe http://httpd.apache.org/docs-2.0/mod/core.html#location. Möglich ist <Location> unmittelbar in der httpd.conf sowie in Virtual Host-Abschnitten.
Allerdings ist <Files> in einer .htaccess zulässig, siehe http://httpd.apache.org/docs-2.0/mod/core.html#files
Grüße aus Berlin
Christoph S.
Ich danke euch, ihr habt mir weitergeholfen!!!
Peterle