Berechtigungsproblem bei PHP-Scripts auf Apache 1.3
Und zwar folgendes: Ich habe ein kleines PHP-Script geschrieben, was bei jedem Aufruf mittels fopen("zaehler", w);eine Zahl in eine Datei schreiben soll. Wenn ich es dann über den Internet Explorer aufrufe, erhalte ich folgende Fehlermeldung: Warning: fopen("counter.txt","w") - Keine Berechtigung in /usr/local/httpd/aepnet/user/ilja/counter.php on line 15. Was muss ich da in der http.conf oder der php.ini umschreiben? Die Linuxseitigen Berechtigungen sind alle richtig gesetzt. Und dann habe ich noch eine andere Frage, wenn man ein php-Script mit folgendem Inhalt schreibt, spuck der Apache alle Daten über die Konfiguration aus. Wie kann man das unterbinden? info.php: <? phpinfo(); ?> Das ganze läuft unter SuSe-Linux 7.1 mit der Apache-Version 1.3 und PHP4 Wer kann helfen?
an Dark Soul 's Tastatur wurde am Donnerstag, 28. März 2002 16:49 folgendes notiert:
erhalte ich folgende Fehlermeldung: Warning: fopen("counter.txt","w") - Keine Berechtigung in /usr/local/httpd/aepnet/user/ilja/counter.php on line 15.
Was muss ich da in der http.conf oder der php.ini umschreiben?
Warum guckst Du nicht selber nach ? less /etc/php.ini | grep fopen
Die Linuxseitigen Berechtigungen sind alle richtig gesetzt.
dem wird wohl eher doch nicht so sein. Oder hast Du wirklich allow_url_fopen = On auf Off gestellt ?
folgendem Inhalt schreibt, spuck der Apache alle Daten über die Konfiguration aus. Wie kann man das unterbinden?
das möchtest Du nicht, ohne Die Informationen über Variablen kann niemand vernünftig programmieren.
<? das ist gewagt - der öffnende Tag heißt <?PHP phpinfo(); ?>
Du wolltest das manual lesen, bevor Du PHP (oder andere Programmiersprachen) auf deinem Server zur Verfügung stellst. http://php.net/phpinfo PS: was passiert, wenn ich ein system("less /etc/php.ini") per Skript ausführe ? was passiert, wenn jemand ein system ("ls /usr/local/httpd/aepnet/") ausführt ? Wie verhindert man das ? Lies bitte: 1. das PHP-Manual 2. ein gutes PHP-Buch 3. Beispielskripte 4. news://de.comp.language.php Hagen -- /HagK/ - hagk@hagk.de Bitte zuerst lesen: http://rfc.net/rfc1855.html (Netiquette) http://www.afaik.de/usenet/faq/zitieren/zitieren-3.php3
Hallo, Dark Soul:
Und zwar folgendes: Ich habe ein kleines PHP-Script geschrieben, was bei jedem Aufruf mittels fopen("zaehler", w);eine Zahl in eine Datei schreiben soll. Wenn ich es dann über den Internet Explorer aufrufe, erhalte ich folgende Fehlermeldung: Warning: fopen("counter.txt","w") - Keine Berechtigung in /usr/local/httpd/aepnet/user/ilja/counter.php on line 15.
Was muss ich da in der http.conf oder der php.ini umschreiben? Die Linuxseitigen Berechtigungen sind alle richtig gesetzt.
Sicher, daß die korrekt gesetzt sind? Um die Datei beim ersten mal anlegen zu können, muß Schreibrecht bestehen auf den _Ordner_, in dem die Textdatei liegt. Um die bestehende Datei modifizieren zu dürfen, reicht das Schreibrecht auf die Datei. Das Schreibrecht muß m.E. bestehen für den User, unter dem der apache läuft! Nicht für den Eigentümer der Site, der ist irrelevant. Welcher User das bei dir ist, weiss ich nicht, ich meine, es wäre "wwwrun" oder so, bei meinem selbstgebauten Apache läuft er unter "nobody".
Und dann habe ich noch eine andere Frage, wenn man ein php-Script mit folgendem Inhalt schreibt, spuck der Apache alle Daten über die Konfiguration aus. Wie kann man das unterbinden?
info.php:
<? phpinfo(); ?>
Ich weiss nicht, wie du das unterbinden kannst - aber warum solltest du das tun? Wenn dein Server anständig konfiguriert ist, dann gibt es zwei Möglichkeiten: a) Die User sollen nicht an solche Infos gelangen. Dann erlaube ihnen nicht, php-Inhalte in ihren Heimverzeichnissen auszuführen. b) Die User dürfen php nutzen. Dann brauchen sie diese Infos, z.B. um festzustellen, welche Module einkompiliert sind. Fremde sollten sowieso keine (php-)Dateien anlegen dürfen. Gruß, Ratti
participants (3)
-
Dark Soul
-
Hagen Kuehnel
-
Ratti