Dateiupload SAFE MODE Restriction in effect

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateiupload SAFE MODE Restriction in effect

    Ja ich weiß! Viele werden nun sagen warum durchsucht er nicht das Forum?
    Doch das habe ich! Nicht nur dieses! Doch eine Lösung habe ich nirgens gefunden.

    Ich möchte:
    Zunächst einmal eine Datei mit einem php-Script auf den Web-Server laden.

    Ich habe folgenden Code:
    (alles in der Datei 'upload.php)

    PHP-Code:
    <?php
    echo "
    <html><head><title>Dateiupload</title></head>
    <body>
    <form enctype='multipart/form-data' action='upload.php' method='post'>
        <input type='hidden' name='MAX_FILE_SIZE' value='2000000'>  <!--ca 2mb-->
        <input type='hidden' name='load' value='load'>
        Datei hochladen!<br>
      Bitte geben Sie den Dateinamen (inkl. Pfad) ein<br>
      oder klicken sie auf Durchsuchen.<br>
      <input name='userfile' type='file'><br>
        <input type='submit' value='Hochladen'>
    </form>
    "
    ;

    if(!empty(
    $_POST["load"]))
    {
    $uploaddir '/html/dateiupload';

    print 
    "<pre>";
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name']))
    {
        print 
    "Datei ist gültig, und wurde erfolgreich geladen. Hier noch einige Infos: \n";
        
    print_r($_FILES);
    } else {
        print 
    "Das Hochladen ist fehlgeschlagen!  Hier noch einige Infos:\n";
        
    print_r($_FILES);
    }
    }
    ?>
    Also nix wirklich dolles!

    Das Ergebnis:

    Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 1001 is not allowed to access / owned by uid 0 in /var/www/web???/html/dateiupload/upload.php on line 21

    Das Hochladen ist fehlgeschlagen! Hier noch einige Infos:
    Array
    (
    [userfile] => Array
    (
    [name] => object1.jpg
    [type] => image/pjpeg
    [tmp_name] => /var/www/web233/phptmp/php36xdL0
    [error] => 0
    [size] => 749
    )

    )
    Ich komme da nicht weiter!
    Ich weiß das:
    Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse die mit dem Skript bearbeitet werden sollen, die gleiche UID haben wie das Skript selbst.
    aber anders heist es:

    move_uploaded_file() ist von den normalen safe mode UID-Einschränkungen nicht betroffen. Dies ist nicht unsicher, da move_uploaded_file() nur mit via PHP hochgeladenen Dateien arbeitet.
    Ich möchte nur wissen wie bekomme ich diese Meldung weg und die Datei auf den Server.

    Servereinstellungen:
    Save_mode = on
    register_globals = off

    Hat da jemand einen Vorschlag?

    Grüße

    Frank

  • #2
    Suche mal umask(). Das kann dir sicher helfen.
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Original geschrieben von schmalle
      Suche mal umask(). Das kann dir sicher helfen.
      Wie und wo muss ich das denn reinpacken?

      Kommentar


      • #4
        Original geschrieben von cuesheet
        Wie und wo muss ich das denn reinpacken?
        Im php Manual sollte ein Beispiel zu finden sein.
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          Original geschrieben von schmalle
          Im php Manual sollte ein Beispiel zu finden sein.
          habe dort nix gefunden ausser
          Beschreibung
          int umask ( [int mask])


          umask() setzt PHP's umask auf mask & 0777 und gibt die alte umask zurück. Wird PHP als Servermodul benutzt, wird die umask zurückgespeichert wenn die jeweilige Anfrage beendet ist.

          umask() ohne Argumente gibt einfach die aktuelle umask zurück.
          und das sagt mir nicht wirklich was

          Kommentar


          • #6
            hast du auch die "User Contributed Notes" gelesen?

            Kommentar


            • #7
              Original geschrieben von asp2php
              hast du auch die "User Contributed Notes" gelesen?
              was ist User Contributed Notes?

              und was möchtest du mir damit sagen?

              Kommentar


              • #8
                Original geschrieben von cuesheet
                was ist User Contributed Notes?
                die user kommentare im manual ... (hättest du auch merken können, wenn du im manual auf der seite einfach mal mit [strg]+[f] nach diesem begriff gesucht hättest.)

                und was möchtest du mir damit sagen?
                dass du sie dir anschauen sollst ...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  @wahsaga & asp2php

                  Ich bin mir wirklich sicher das Ihr mir helfen möchtet doch das ist der falsche weg!

                  Ich suche nun seit 24h nach einer Lösung und habe dabei so viele anweisungen und Kommentare gelesen die nicht klappen. wenn ein Befehl weiter gegeben wird ist das eine tolle sache nur sollte mann nicht umbedingt davon ausgehen das der gegenüber mit diesem Befehl schn mal gearbeitet hat.

                  wenn ich umask(0777) vor der move_uploaded_file Anweisung setze ändert sich nix

                  wenn ich chmod("/empfangen", 0777); bekomme ich eine Fehlermeldung:
                  Operation not permitted
                  mit der Meldung das datei nicht hochgeladen / verschoben wurde.

                  Wenn Ihr wirklich helfen möchtet dann tut es!

                  Danke

                  Kommentar


                  • #10
                    Re: Dateiupload SAFE MODE Restriction in effect

                    Original geschrieben von cuesheet
                    PHP-Code:
                    $uploaddir '/html/dateiupload'
                    da lag der fehler

                    Ich verstehe zwar nun die Fehlermeldung nicht mehr aber wenn ich es so schreibe klappt der Upload
                    PHP-Code:
                    $uploaddir 'html/dateiupload/'

                    Kommentar

                    Lädt...
                    X