Shadowcrow: Probleme mit Dateiupload...

hi $name,

mein Dateiupload funktioniert nicht, nachdem absenden des Formulars bekomme ich zwar die Meldung das der Upload geglückt ist, aber die Dateien sind nicht auf dem Server. Der Fehler scheint wohl irgendwo beim Verschieben vom Tempverzeichnis ins endgültige Verzeichnis aufzutreten. Es funktioniert weder Lokal noch auf dem Webspace, ich werd noch meschigge. Wer hat eine Idee?

$uploaddir_t = '../reloaded/pics/';  
$uploaddir_p = '../reloaded/b/';  
  
move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);  
move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);

$_FILES:
Array
(
    [fotos] => Array
        (
            [name] => b_01.jpg
            [type] => image/jpeg
            [tmp_name] => /srv/www/htdocs/web666/phptmp/phpRk8ZCv
            [error] => 0
            [size] => 36167
        )

[fotos_t] => Array
        (
            [name] => t_b_01.jpg
            [type] => image/jpeg
            [tmp_name] => /srv/www/htdocs/web666/phptmp/phpzTgzKs
            [error] => 0
            [size] => 5108
        )

)

gruss
shadow

--
Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
  1. Hello,

    $uploaddir_t = '../reloaded/pics/';

    $uploaddir_p = '../reloaded/b/';

    move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);
    move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);

      
    Und gibt es keine Fehlermeldungen?  
    Darf der PHP-Prozess in den Verzeichnissen schreiben?  
    Hast Du es mal mit einem normalen copy() probiert?  
      
    Welche PHP-Version auf welcher Plattform?  
      
      
    Liebe Grüße aus dem Cyberspace  
      
      
    Tom vom Berg  
    ![](http://selfhtml.bitworks.de/Virencheck.gif)  
      
    
    -- 
    Nur selber lernen macht schlau  
    <http://bergpost.annerschbarrich.de>
    
    1. Hello,

      move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);
      move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);[/code]

      ^^^^^^^^^^^^^^^^^^^^^^

      Das ist außerdem eine Sicherheitslücke. Der Client könnte hier einen Pfad liefern.
      Benutze zur Extraktion des Dateinamen mindestes basedir(), besser ist es aber, einen eigenen Namen zu vergeben´und z.B. in der Datenbankl oder einer anderen Tabelle (Flatfile) zu vermerken, wessen Uploadfile das ist und wie es heißen soll.

      Liebe Grüße aus dem Cyberspace

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. hi $name,

        Hello,

        | > move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);
        | > move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);[/code]

        ^^^^^^^^^^^^^^^^^^^^^^

        Das ist außerdem eine Sicherheitslücke. Der Client könnte hier einen Pfad liefern.

        Ich dachte er liefert nur den Dateinamen, wie kommt da ein Pfad zustande?

        Benutze zur Extraktion des Dateinamen mindestes basedir(), besser ist es aber, einen eigenen Namen zu vergeben´und z.B. in der Datenbankl oder einer anderen Tabelle (Flatfile) zu vermerken, wessen Uploadfile das ist und wie es heißen soll.

        Hhhmmm, werd ich mir für die Zukunft merken, in diesem Zusammenhang spielt es aber keine Rolle, das Uploadscript ist nur für eine Person bestimmt und liegt in einem per .htaccess geschützen Verzeichnis, wobei wenn das nicht klappt wird wohl jmd. lernen müssen das per FTP hochzuladen :-)).

        gruss
        shadow

        --
        Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
        1. Hello,

          | > move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);
          | > move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);[/code]

          ^^^^^^^^^^^^^^^^^^^^^^

          Das ist außerdem eine Sicherheitslücke. Der Client könnte hier einen Pfad liefern.

          Ich dachte er liefert nur den Dateinamen, wie kommt da ein Pfad zustande?

          Wenn der Client manipuliert ist, steht dirn, was dser Manipulator wünscht.

          Liebe Grüße aus dem Cyberspace

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. hi $name,

            Wenn der Client manipuliert ist, steht dirn, was dser Manipulator wünscht.

            Ok, klar, aber das einzige was passieren könnte wäre das ein max. 70KB großes JPG in einem Verzeichnis landet wo es nichts zu suchen hat....und wie gesagt im Moment spielt es keine Rolle...

            gruss
            shadow

            --
            Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
            1. Hello,

              Ok, klar, aber das einzige was passieren könnte wäre das ein max. 70KB großes JPG in einem Verzeichnis landet wo es nichts zu suchen hat....und wie gesagt im Moment spielt es keine Rolle...

              das ist etwas zu kurz gedacht. Woran machst du das JPG fest? Bedenke, dass ich dir ggf. eine .htaccess oder sonstige sicherheitsrelevante Datei überschreiben könnte.

              MfG
              Rouven

              --
              -------------------
              sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
              Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet
              1. Hello,

                Ok, klar, aber das einzige was passieren könnte wäre das ein max. 70KB großes JPG in einem Verzeichnis landet wo es nichts zu suchen hat....und wie gesagt im Moment spielt es keine Rolle...
                das ist etwas zu kurz gedacht. Woran machst du das JPG fest? Bedenke, dass ich dir ggf. eine .htaccess oder sonstige sicherheitsrelevante Datei überschreiben könnte.

                beliebt ist bei vielen Installationen (speziell bei einem bestimmten CMS, wenn es auf einer Suse läuft) eine index.phtml. Die wird bei der typischen Einrichtung, solange eine index.php vorhanden ist, nicht automatisch geparst. Wenn man dann weiß, wo das Verzeichnis liegt mit den hochgeladenen Dateien liegt, kann man diese Datei ausführen lassen.

                Diese Lücke ist übrigens "out of the Box" installiert bei der Kombination aus dem bewussten CMS und einer Suse-Grundinstallation.

                Liebe Grüße aus dem Cyberspace

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                http://bergpost.annerschbarrich.de
              2. hi $name,

                Hello,

                | Ok, klar, aber das einzige was passieren könnte wäre das ein max. 70KB großes JPG in einem Verzeichnis landet wo es nichts zu suchen hat....und wie gesagt im Moment spielt es keine Rolle...
                das ist etwas zu kurz gedacht. Woran machst du das JPG fest? Bedenke, dass ich dir ggf. eine .htaccess oder sonstige sicherheitsrelevante Datei überschreiben könnte.

                weil mein script den MIME typ überprüft - bei den PDFs noch zusätzlich den dateinamen mit einem array der erlaubten namen abgleicht (und ich bau noch ein das auch die namen der bilder überprüft werden), aber wenn es ein "öffentliches" script geben sollte werde ich das schon überprüfen, das momentane script liegt im admin bereich und ist nur für eine person zugänglich....

                gruss
                shadow

                --
                Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
                1. Hallo,

                  »» das ist etwas zu kurz gedacht. Woran machst du das JPG fest? Bedenke, dass ich dir ggf. eine .htaccess oder sonstige sicherheitsrelevante Datei überschreiben könnte.
                  weil mein script den MIME typ überprüft

                  das ist nett gemeint, aber im Ernstfall völlig wirkungslos, weil der MIME-Typ beim Upload vom Client ermittelt bzw. bestimmt wird. Ein böswilliger Angreifer kann dir also jede x-beliebige Datei unterschieben und sie aus voller Absicht mit dem MIME-Typ image/jpeg versehen.

                  bei den PDFs noch zusätzlich den dateinamen mit einem array der erlaubten namen abgleicht (und ich bau noch ein das auch die namen der bilder überprüft werden), aber wenn es ein "öffentliches" script geben sollte werde ich das schon überprüfen

                  Ich kann nur eindringlich warnen: Mach jetzt schon eine Prüfung, die auch im öffentlichen Einsatz was taugt. Nachher nimmst du das Script, denkst nicht mehr dran, dass du es noch "aufbohren" musst, und schon hast du den Salat.

                  So long,
                   Martin

                  --
                  Er:  Mit wem warst du gestern abend aus?
                  Sie: Du bist mal wieder eifersüchtig wie immer!
                  Er:  Wer ist Immer?
                  1. hi $name,

                    | »» das ist etwas zu kurz gedacht. Woran machst du das JPG fest? Bedenke, dass ich dir ggf. eine .htaccess oder sonstige sicherheitsrelevante Datei überschreiben könnte.
                    | weil mein script den MIME typ überprüft

                    das ist nett gemeint, aber im Ernstfall völlig wirkungslos, weil der MIME-Typ beim Upload vom Client ermittelt bzw. bestimmt wird. Ein böswilliger Angreifer kann dir also jede x-beliebige Datei unterschieben und sie aus voller Absicht mit dem MIME-Typ image/jpeg versehen.

                    uups stimmt, hab ich glatt im handbuch überlesen...

                    Ich kann nur eindringlich warnen: Mach jetzt schon eine Prüfung, die auch im öffentlichen Einsatz was taugt. Nachher nimmst du das Script, denkst nicht mehr dran, dass du es noch "aufbohren" musst, und schon hast du den Salat.

                    ja, hast recht, ich werde das noch anflanschen...

                    gruss
                    shadow

                    --
                    Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
                    1. Hello,

                      ja, hast recht, ich werde das noch anflanschen...

                      Uns Du solltest das Verzeichnis, in dem sich die hochgeladenen Files befinden, nach Möglichkiet außerhalb der Document Root liegen haben. Wenn das nicht geht, weil Due eben gerade die Erreichbarkeit per HTTP haben möchtest, dann solltest Du zumindest die Engines ausschalten für das Verzeichnis. Für PHP geht das mit

                      ### .htaccess
                         php_flag engine 0

                      in einer .htaccess,

                      oder besser noch in der Server-Konfiguration (Virtual Host Konfiguration).
                      Perl würde ich auch ausschalten, weiß ich aber nicht, wie das mit .htaccess geht.

                      Wen es sich um ein Bilderverzeichnis handelt, solltest Du kein File, das nicht die Prüfung mit getimagesize() übrsteht, in das Verzeichnis übertragen.

                      Liebe Grüße aus dem Cyberspace

                      Tom vom Berg

                      --
                      Nur selber lernen macht schlau
                      http://bergpost.annerschbarrich.de
                      1. hi $name,

                        Uns Du solltest das Verzeichnis, in dem sich die hochgeladenen Files befinden, nach Möglichkiet außerhalb der Document Root liegen haben. Wenn das nicht geht, weil Due eben gerade die Erreichbarkeit per HTTP haben möchtest, dann solltest Du zumindest die Engines ausschalten für das Verzeichnis. Für PHP geht das mit

                        ### .htaccess
                           php_flag engine 0

                        in einer .htaccess,

                        danke.
                        ja, die bilder/PDFs sollen per HTTP erreichbar sein...ich habe aber jetzt die .htaccess reingestellt...

                        oder besser noch in der Server-Konfiguration (Virtual Host Konfiguration).

                        *lol* erst mal können vor lachen, da komme ich nicht ran.

                        Perl würde ich auch ausschalten, weiß ich aber nicht, wie das mit .htaccess geht.

                        ist ausgeschaltet(?) CGI/PERL außerhalb cgi-bin ist standartmäßig deaktiviert, und im moment hab ich keinen grund das zu ändern.

                        Wen es sich um ein Bilderverzeichnis handelt, solltest Du kein File, das nicht die Prüfung mit getimagesize() übrsteht, in das Verzeichnis übertragen.

                        hm, gute idee, da muss man erstmal drauf kommen....

                        gruss
                        shadow

                        --
                        Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
                        1. Hello,

                          ### .htaccess
                              php_flag engine 0

                          in einer .htaccess,

                          danke.
                          ja, die bilder/PDFs sollen per HTTP erreichbar sein...ich habe aber jetzt die .htaccess reingestellt...

                          Das heißt also, dass PHP bei Dir auch als Modul läuft? Sonst geht es nämlich nicht auf dise Weise.

                          und dann musst Du noch verhindern, dass Dir jemand eine ".htaccess"-Datei hochlädt.
                          Am besten also mit Punkt beginnenden Dateinamen verbieten.

                          Ich würde die Namen sowieso nicht im Original lassen, sondern selber welche vergeben, oder zumindest vor den mit basename() http://www.php.net/manual/en/function.basename.php (da hatte ich mich glaube ich geirrt im anderen Posting und basedir() geschrieben) extrahierten Namen ein Präfix setzen.

                          Katalog.pdf wird zu PDF_Katalog.pdf

                          Dann würde ein durchgerutschtes '.htaccess' zu 'PDF_.htaccess' werden und damit unwirksam werden.

                          Liebe Grüße aus dem Cyberspace

                          Tom vom Berg

                          --
                          Nur selber lernen macht schlau
                          http://bergpost.annerschbarrich.de
                          1. hi $name,

                            | ja, die bilder/PDFs sollen per HTTP erreichbar sein...ich habe aber jetzt die .htaccess reingestellt...

                            Das heißt also, dass PHP bei Dir auch als Modul läuft? Sonst geht es nämlich nicht auf dise Weise.

                            keine ahnung, woran kann ich das sehen? hab per phpinfo() nichts entdecken können...

                            und dann musst Du noch verhindern, dass Dir jemand eine ".htaccess"-Datei hochlädt.
                            Am besten also mit Punkt beginnenden Dateinamen verbieten.

                            ok

                            Ich würde die Namen sowieso nicht im Original lassen, sondern selber welche vergeben, oder zumindest vor den mit basename() http://www.php.net/manual/en/function.basename.php (da hatte ich mich glaube ich geirrt im anderen Posting und basedir() geschrieben) extrahierten Namen ein Präfix setzen.

                            Katalog.pdf wird zu PDF_Katalog.pdf

                            Dann würde ein durchgerutschtes '.htaccess' zu 'PDF_.htaccess' werden und damit unwirksam werden.

                            das hebe ich mir für das "öffentliche" script auf, der ganze zinnober ist ja für dieses script nicht nötig, ich setze es nur rein damit keine unfälle passieren falls ich es mal receyceln sollte...

                            danke für die ganzen tips :-)

                            gruss
                            shadow

                            --
                            Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
                            1. Hello,

                              Das heißt also, dass PHP bei Dir auch als Modul läuft? Sonst geht es nämlich nicht auf dise Weise.

                              keine ahnung, woran kann ich das sehen? hab per phpinfo() nichts entdecken können...

                              Server API Apache 2.0 Handler         ist z.B. das Modul

                              Oder DU kannst auch die PHP-Funktion
                              http://www.php.net/manual/en/function.php-sapi-name.php
                              abfragen

                              und dann musst Du noch verhindern, dass Dir jemand eine ".htaccess"-Datei hochlädt.
                              Am besten also mit Punkt beginnenden Dateinamen verbieten.
                              ok

                              Ich würde die Namen sowieso nicht im Original lassen, sondern selber welche vergeben, oder zumindest vor den mit basename() http://www.php.net/manual/en/function.basename.php (da hatte ich mich glaube ich geirrt im anderen Posting und basedir() geschrieben) extrahierten Namen ein Präfix setzen.

                              Katalog.pdf wird zu PDF_Katalog.pdf

                              Dann würde ein durchgerutschtes '.htaccess' zu 'PDF_.htaccess' werden und damit unwirksam werden.

                              das hebe ich mir für das "öffentliche" script auf, der ganze zinnober ist ja für dieses script nicht nötig, ich setze es nur rein damit keine unfälle passieren falls ich es mal receyceln sollte...

                              danke für die ganzen tips :-)

                              bitte, gerne geschehen.

                              Liebe Grüße aus dem Cyberspace

                              Tom vom Berg

                              --
                              Nur selber lernen macht schlau
                              http://bergpost.annerschbarrich.de
    2. hi $name,

      Und gibt es keine Fehlermeldungen?

      ne eben nicht, der error code der im $_FILES Array steht sagt 0, also das der upload geklappt hat. Ich kann auch (per FTP) sehen das auf das temporäre Verzeichnis zugegriffen wurde aber nicht auf das endgültige Verzeichnis.

      Darf der PHP-Prozess in den Verzeichnissen schreiben?

      Ja

      Hast Du es mal mit einem normalen copy() probiert?

      Ne, denn andere Uploads (PDFs) funktionieren ja....

      Welche PHP-Version auf welcher Plattform?

      PHP/5.2.5  auf Apache/2.2.4 (Linux/SUSE) |

      gruss
      shadow

      --
      Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
      1. Hello,

        Hast Du es mal mit einem normalen copy() probiert?

        Ne, denn andere Uploads (PDFs) funktionieren ja....

        Wie groß sind die Files im Rohformat auf der Client-Platte?
        Wie sind die Einstellungen für

        upload_max_filesize
           post_max_size

        und der Server könnete seinerseits auch noch Beschränkungen haben.

        Liebe Grüße aus dem Cyberspace

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. hi $name,

          Wie groß sind die Files im Rohformat auf der Client-Platte?

          Rohformat? Das Bild hat eine größe von 36KB bzw. 5KB.

          Wie sind die Einstellungen für

          upload_max_filesize

          2M

          post_max_size

          8M

          und der Server könnete seinerseits auch noch Beschränkungen haben.

          ?

          Ich habe für die Bilder (im Script) eine max. größe von 65KB bzw. 7KB vorgegeben.

          Mit den PDFs klappt ja alles und da ist die größte 700KB groß.

          gruss
          shadow

          --
          Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
          1. Hello,

            Rohformat? Das Bild hat eine größe von 36KB bzw. 5KB.

            Duch die Codierung in base64 wird es noch etwas größer für die Übertragung, aber Du bist ja noch weit weg vom Limit.

            Mach mal folgendes:

            Wo liegt Dein upload_tmp_dir? Kannst Du mit ftp oder üner Konsole reinschauen?

            Dann baue in Dein Upload-Script ein sleep() ein vor dem Ende und schau zu, was sich in dem Verzeichnis tut, wenn Du den Upload gestartet hast.

            Liebe Grüße aus dem Cyberspace

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
            1. hi $name,

              | Rohformat? Das Bild hat eine größe von 36KB bzw. 5KB.
              Duch die Codierung in base64 wird es noch etwas größer für die Übertragung, aber Du bist ja noch weit weg vom Limit.

              achso ja, die werden ca. 1/3 größer, oder?

              Mach mal folgendes:

              Wo liegt Dein upload_tmp_dir? Kannst Du mit ftp oder üner Konsole reinschauen?

              Über der document root, ich kann per FTP reinlunsen...

              Dann baue in Dein Upload-Script ein sleep() ein vor dem Ende und schau zu, was sich in dem Verzeichnis tut, wenn Du den Upload gestartet hast.

              ich hab das script jetzt für 3 Minuten heijabubu machen lassen, im Tempverzeichnis tauchen auch brav die Dateien auf, nur um dann im Nirvana zu verschwinden *kotz*.

              gruss
              shadow

              --
              Vor dem Parser und auf hoher See sind wir allein in Gottes Hand
              1. Hallo

                ich hab das script jetzt für 3 Minuten heijabubu machen lassen, im Tempverzeichnis tauchen auch brav die Dateien auf, nur um dann im Nirvana zu verschwinden *kotz*.

                Baue dein Skript mal temporär so um, dass bei *jedem* Schritt eine zuordenbare Ausgabe und eine Prüfung auch der Rückgabewerte der Funktionen erfolgt und die Ergebnisse der Prüfung ebenfalls ausgegeben werden. Davon, dass du das Error Reporting ausreizt, gehe ich stillschweigend aus.

                Tschö, Auge

                --
                Die deutschen Interessen werden am Liechtenstein verteidigt.
                Veranstaltungsdatenbank Vdb 0.3
  2. Hi,

    $uploaddir_t = '../reloaded/pics/';
    $uploaddir_p = '../reloaded/b/';

    schon mal mit absolutem Pfad probiert?
    Vielleicht ist die Basis des relativen Pfads nicht an der Stelle, an der Du sie vermutest.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. Hallo Shadow,

    Der Fehler scheint wohl irgendwo beim Verschieben vom Tempverzeichnis ins endgültige Verzeichnis aufzutreten.

    Du hast eine klare Idee, was fehlschlägt, Du siehst, dass die Dateien hochgeladen werden.

    move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);

    move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);

      
    warum prüfst Du nicht den Rückgabewert von [move_uploaded_file](http://www.php.net/manual/de/function.move-uploaded-file.php)?  
    Steht [error_reporting](http://www.php.net/manual/de/function.error-reporting.php) auf E\_ALL?  
    Wie ist die Einstellung von [display_errors](http://www.php.net/manual/de/errorfunc.configuration.php#ini.display-errors)?  
      
    move\_uploaded\_file müsste false zurückliefern und eine Warnung ausgespuckt werden.  
      
    Ansonsten noch:  
    Nimm die Hinweise von Tom bezüglich der Dateinamen ernst. Auch für einen geschlossenen Nutzerkreis. Irgendwann wirst Du die "funktionierende" Lösung woanders einsetzen, und schon kann es schief gehen, weil beliebige Dateien überschrieben werden können, zum Beispiel die index.php mit einer beliebigen manipulierten Datei. Schon gehört Dein Server nicht mehr Dir.  
      
      
    Freundliche Grüße  
      
    Vinzenz
    
    1. hi $name,

      Du hast eine klare Idee, was fehlschlägt, Du siehst, dass die Dateien hochgeladen werden.

      | ~~~php

      move_uploaded_file($_FILES['fotos_t']['tmp_name'], $uploaddir_t.$_FILES['fotos_t']['name']);

      | move_uploaded_file($_FILES['fotos']['tmp_name'], $uploaddir_p.$_FILES['fotos']['name']);

      
      >   
      > warum prüfst Du nicht den Rückgabewert von [move_uploaded_file](http://www.php.net/manual/de/function.move-uploaded-file.php)?  
        
      uups hab ich garnicht dran gedacht, ok das dingens spuckt jetzt jede menge warnungen aus, danke, die fehler konnte ich jetzt beheben - dummer fehler, einen slash vergessen \*schäm\*, und ich hab x mal uberprüft ob das stimmt und trotzdem nicht gesehen.  
        
      
      > Steht [error_reporting](http://www.php.net/manual/de/function.error-reporting.php) auf E\_ALL?  
      
      Ja  
      
      > Wie ist die Einstellung von [display_errors](http://www.php.net/manual/de/errorfunc.configuration.php#ini.display-errors)?  
      
      steht auf ON  
      
      > move\_uploaded\_file müsste false zurückliefern und eine Warnung ausgespuckt werden.  
      
      ja s.o.  
      
      > Ansonsten noch:  
      > Nimm die Hinweise von Tom bezüglich der Dateinamen ernst. Auch für einen geschlossenen Nutzerkreis. Irgendwann wirst Du die "funktionierende" Lösung woanders einsetzen, und schon kann es schief gehen, weil beliebige Dateien überschrieben werden können, zum Beispiel die index.php mit einer beliebigen manipulierten Datei. Schon gehört Dein Server nicht mehr Dir.  
        
      Ja mache ich, was gehackte server angeht hatte ich schon mal das vergnügen (und nein, ich habs nicht verbockt) \*lol\* nach einem diskreten hinweis hat der hoster auf allen servern register\_globals auf off gestellt, fand ich ja gut, aber er hätte eigentlich bescheid sagen können (nicht das ich das benutzt habe, aber einige kunden könnten doof aus der wäsche geschaut haben als ihre scripte nicht mehr funktionierten).  
      gruss  
      shadow
      
  4. Hi there,

    Wer hat eine Idee?

    Wenn mir so etwas passierte, hab ich meist vergessen, dem endgültigen Zielverzeichnis Schreibrechte zu geben...

    1. hi $name,

      Wenn mir so etwas passierte, hab ich meist vergessen, dem endgültigen Zielverzeichnis Schreibrechte zu geben...

      *lol* nachdem mir das auch mal passiert ist gehört das zu den dingen die ich als erstes überprüfe :-)

      glücklicherweise konnte ich das problem mittlerweile lösen.

      gruss
      shadow

      --
      Vor dem Parser und auf hoher See sind wir allein in Gottes Hand