Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von März

SELFHTML Forumsarchiv
Erlaubniss für copy()

Informationsseite
  1. Seite (PHP) Erlaubniss für copy() von Thomas, 30. 03. 2007, 21:16
nach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 03. 2007, 21:16

hallo,

Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es

Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24

wie kann ich diesen fehler beheben.

lg thomas

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2007, 21:26

Hello,

»» Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
»»
»» Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
»»
»» wie kann ich diesen fehler beheben.

Stelle als erstes fest, ob PHP im Safe-Mode läuft.
Dann sehen wir weiter :-)




Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 03. 2007, 21:29

»» Hello,
»»
»» »» Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
»» »»
»» »» Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
»» »»
»» »» wie kann ich diesen fehler beheben.
»»
»» Stelle als erstes fest, ob PHP im Safe-Mode läuft.
»» Dann sehen wir weiter :-)
»»
»»
»»
»»
»» Harzliche Grüße vom Berg
»» http://www.annerschbarrich.de
»»
»» Tom


hmmm. wie findet man das raus..?

lg

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Sven Rautenberg, 30. 03. 2007, 21:33

Moin!

»» »» Hello,
»» »»
»» »» »» Ich habe auf meiner page ein upload script mit php erstellt, doch nun sagt es
»» »» »»
»» »» »» Warning: copy(blabla.txt): failed to open stream: Permission denied in /home/www/****/html/files/dateien.php on line 24
»» »» »»
»» »» »» wie kann ich diesen fehler beheben.
»» »»
»» »» Stelle als erstes fest, ob PHP im Safe-Mode läuft.
»» »» Dann sehen wir weiter :-)
»» »»
»» »»
»» »»
»» »»
»» »» Harzliche Grüße vom Berg
»» »» http://www.annerschbarrich.de
»» »»
»» »» Tom
»»
»»
»» hmmm. wie findet man das raus..?
»»
»» lg

Wenn du über PHP viel INFO wissen willst - welche Funktion könnte wohl gemeint sein?

PS: Wenn jeder das komplette Zitat aller Vorposter stehen lassen würde, würde man spätestens ab der dritten Antwort kaum noch was selber schreiben können, weil die Textmenge hier begrenzt ist. Also bitte kein TOFU machen!

 - Sven Rautenberg
--
"Love your nation - respect the others."

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 03. 2007, 21:40

hallo..

oke klar...

ist das gemeint..??:

file_uploads On On

lg

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2007, 21:46

Hello,

»» ist das gemeint..??:
»»
»» file_uploads On On

Nein, es war gemeint, dass Du nach dem "Safe-Mode" schaust... :-)



Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 03. 2007, 21:50

safe_mode Off On
safe_mode_exec_dir /home/www/empty/ no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value


das ist es nun...??

was bedeutet das nun..?

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2007, 21:58

Hello,

»» safe_mode Off On
»» safe_mode_exec_dir /home/www/empty/ no value
»» safe_mode_gid Off Off
»» safe_mode_include_dir no value no value
»»
»» das ist es nun...??
»» was bedeutet das nun..?

Jawoll, wie vermutet. Das wird es sein.
Nun müssen wir mal versuchen, zu rekapitulieren, wie Du Deine Scripte und Verzeichnisse auf den Server bekommen hast, wem sie gehören, und wie die Dateien (die Uploads) auf den Server gelangen...

Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.

Als Berechtigte gelten:
  - der Eigentümer der Datei, wenn der Eigentümer des zugreifenden Scriptes identisch ist
  - Der Eigentümer des Verzeichnisses, in dem die Datei liegt, wenn der Eigentümer des
    zugreifenden Scriptes identisch ist.

Wer ist der Eigentümer des Scriptes?
Wer ist der Eigentümer der hochgeladenen Datei?
Wer ist der Eigentümer des Verzeichnisses, in das die Datei kopiert werden soll?

Wenn wir diese Fragen geklärt haben, können wir einige Strategien zur Umgehung der Hindernisse entwerfen.



Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 30. 03. 2007, 22:08

Oke, dann mal los.

Ich bin der Eigentümer des Scriptes, ich habe es selbst geschrieben und via FTP server auf meinen Server geladen. Dort soll es die Daten von einem Computer auf den Server laden und dauerhaft speichern.(Mit der Funktion copy()). Ich denke ich muss irgendwo im Script die FTP-Daten eingeben, damit die Daten auf den Server galaden werden.

LG

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 30. 03. 2007, 22:25

Hello,

»» Ich bin der Eigentümer des Scriptes, ich habe es selbst geschrieben und via FTP server auf meinen Server geladen. Dort soll es die Daten von einem Computer auf den Server laden und dauerhaft speichern.(Mit der Funktion copy()). Ich denke ich muss irgendwo im Script die FTP-Daten eingeben, damit die Daten auf den Server galaden werden.

Ok:
(wwwrun steht für den Apachen)

Verzeichnis/Datei                Eigentümer            warum

Webspace und Document Root       Thomas                Provider hat es so eingerichtet
Scripte im Document Root         Thomas                Weil der FTP so eingerichtet ist
Verzeichnis, in das              wwwrun                Weil es der Apache erzeugt hat
  das Bild soll
Hochgeladenen Datei              wwwrun                Weil es so bestimmt ist

Nun versucht also ein Script, das Thomas gehört, eine Datei zu bewegen, die wwwrun gehört und zwar in ein Verzeichnis, das ebenfalls wwwrun gehört. Leider passt der Eigentümer des Scriptes nicht zu Quelle und Ziel.

Wenn Du nun mal, nur zur Probe, ein eigenes Upload-Script erzeugst, indem Du ein Script schreibst, in dem

  copy altes_uploadscript.php neues_uploadscript.php

und dann in deinem Upload-Formular das neue Upload-Script benutzt, dann müsste es funktionieren.
Denn nach dem Copy gehört das neue Uplaoadscript nicht m,ehr Dir, sondern dem wwwrun.

Alternativ kannst Du das Verzeichnis, in das die Bilder kopiert werden sollen, mittels FTP erzeugen. Dann gehört es Dir. Damit darf das alte Uploadscript, das ebenfalls Dir gehört, in dem Verzeichnis Schreiben.

Probier es mal aus und teil uns die Ergebnisse mit.


Mehr darüber findest Du unter http://selfhtml.bitworks.de --> wie funktioniert der Safe-Mode









Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Thomas, 01. 04. 2007, 12:34

Oke, ich habe nun ein Script gemacht das funktioniert, der Hauptfehler lag daran, dass ich im FTP-Programm den Ordner wo die Files raufgeladen werden, in Eigenschaften auf Schreieben setzten musste. Ich habe das Script nun auch mit move_uploaded_file gemacht, Danke für eure Hilfe.

Lg Thomas

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Patrick Canterino, 31. 03. 2007, 13:15

Hallo Tom,

»» Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.

Der fliegt zum Glück in PHP 6 raus. Man will sich stattdessen auf open_basedir konzentrieren, was ich für wesentlich sinnvoller halte.

Gruß
Patrick
--
"Ein Blitzableiter auf einem Kirchturm ist das denkbar stärkste Misstrauensvotum gegen den lieben Gott." (Karl Kraus)

nach obennach unten

Erlaubniss für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 31. 03. 2007, 13:25

Hello,

»» »» Der Safe-Mode ist eine mMn zum Teil reperaturbedürftige Maßnahme von PHP, durch die versucht werden sollte, dass nur Berechtigte auf bestimmte Dateien zugreifen.
»»
»» Der fliegt zum Glück in PHP 6 raus. Man will sich stattdessen auf open_basedir konzentrieren, was ich für wesentlich sinnvoller halte.

Ja, was den Zugriff auf das Dateisystem betrifft, finde ich das auch.
Aber was das gemeinsame Ausschalten der anderen kritischen Elemente betrifft, ist er eben doch ganz praktisch.

- system
- exec
- ...
- Ändern von Settings

Das muss man dann wohl in Zukunft alles einzeln ausschalten?


Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach obennach unten

Erlaubnis für copy()

Die folgende Nachricht zum Thema stammt von: dedlfix, 31. 03. 2007, 09:26

echo $begrüßung;

»» safe_mode Off On

Das heißt, global ist der Safe Mode zwar eingeschaltet, aber lokal ausgeschaltet. Wie passt das zusammen? In der php.ini gesetzt oder fest einkompiliert und dann in der http.conf wieder ausgeschaltet? Denn das sind die beiden Orte, an denen die php.ini directive safe_mode berücksichtigt wird.

Was mich ebenfalls noch am eingeschalteten Safe-Mode zweifeln läst, ist, dass die Fehlermeldung ihn nicht erwähnt hat. Sonst schreibt sie da immer noch ein "SAFE MODE Restriction in effect. The script whose uid is ... is not allowed to access ..."

Und was mich noch stört, ist das copy() bei hochgeladenen Dateien. Zum Verschieben von hochgeladenen Dateien soll man move_uploaded_file() verwenden.


echo "$verabschiedung $name";

nach obennach unten

Erlaubnis für copy()

Die folgende Nachricht zum Thema stammt von: Tom, 31. 03. 2007, 11:56

Hello,

              local global

»» »» safe_mode Off   On

Du hast Recht. Erst der local, dann der globale Wert...

Dann könnte es eigentlich nur noch sein, dass er versucht, die Datei außerhalb seines "Webcontainers" abzulegen. Es ist uns schließlich unterschlagen worden, was Quelle und was Ziel waren...






Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von März

© 1998-2006 Seite Impressum, Software: Classic Forum