Rechteproblem bei Bildupload

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

  • #16
    Stimmt... den Tipp schicke ich dem gleich mal, mal sehen, was ihm dazu einfällt...

    Kommentar


    • #17
      Leg dir mal ne Testdatei an und schreibe folgenden Inhalt rein
      PHP-Code:
      echo tempnam('dummy','pipapo'); 
      tempnam() legt, falls das Verzeichnis (dummy) nicht existiert, die Datei im Temp Folder des Servers an und gibt den kompletten Pfad zurück. Was ergibt dieser Code?
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #18
        Nee, doch nicht. Ich glaub, der hat gerade was dran rumgeschraubt. Jedenfalls heißt die Fehlermeldung jetzt so:

        Also nochmal der Reihe nach:

        Fehler (erzeugt um 14:40 Uhr):

        PHP Warning: Unknown: open_basedir restriction in effect. File(d:\web\default\temp\) is not within the allowed path(s):
        (d:/web) in Unknown on line 0 PHP Warning: File upload error - unable to create a temporary file in Unknown on line 0

        Fehlermeldung, wenn ich nur ein einfaches copy() mache:

        copy() [function.copy]: open_basedir restriction in effect. File(testx.jpg) is not within the allowed path(s):
        (d:/web) in D:\web\kunde\page.de\htdocs\upload1.php on line 11

        PHPinfo:

        open_basedir d:/web d:/web
        upload_tmp_dir d:/web/default/temp d:/web/default/temp
        file_uploads On On
        TEMP d:\web\default\temp
        TMP d:\web\default\temp

        Kommentar


        • #19
          tempnam() legt, falls das Verzeichnis (dummy) nicht existiert, die Datei im Temp Folder des Servers an und gibt den kompletten Pfad zurück. Was ergibt dieser Code? [/B]

          Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(dummy) is not within the allowed path(s): (d:/web) in D:\web\kunde\page.de\htdocs\upload1.php on line 9

          EDIT:

          kunde und page.de heißt natürlich entsprechend anders, will/darf ja keine Kundennamen nennen.

          Zuletzt geändert von Pust; 21.07.2008, 13:59.

          Kommentar


          • #20
            Bin mir jetzt ned 100%-ig sicher aber bei der php.ini sollten die \ und nicht die / verwendet werden (wenn's ein Windows System ist). Afaik ist beim Apachen dann wieder / zu verwenden (in der httpd.conf auf Windows)
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #21
              Moment, anders:

              Wie sieht es mit dem Verzeichnisbaum aus? Geht das jetzt so oder nicht?
              Ich blick es nicht mehr...

              Kommentar


              • #22
                Ich behaupte mal frech, dass diese Angaben so nicht korrekt sein dürften
                open_basedir d:/web d:/web
                upload_tmp_dir d:/web/default/temp d:/web/default/temp
                Sondern eher so lauten sollten
                open_basedir d:\web d:\web
                upload_tmp_dir d:\web\default\temp d:\web\default\temp
                weiss es aber auch ned sicher, weil ich mittlerweile schonlange kein Windows mehr als Server-BS am Start habe.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #23
                  AAaaaalso, der Serveradmin schreibt jetzt:

                  Uploaddir =d:\web\default\temp
                  Open_basedir=d:\web

                  Da ist d:\web\default\temp ja wohl eindeutig drin oder?! Das paßt schon so. Der wird halt die Systemvariable temp oder so auslesen und die steht in dem Fall mit d:\web\default\temp da, also mit \.


                  und

                  Ich habe diese Konfiguration bei knapp 50 Shared-Webhosting Servern exakt so eingestellt, damit laufen selbst harte Brocken wie Joomla, Typo3 und xtCommerce einwandfrei. Daher meinte ich ja auch, Sie sollen Ihre Pfadangaben ebenfalls mit / statt \ machen. Andernfalls bei der Software in der Uploadroutine schauen, was das Teil macht - man kann den Upload auf 2 verschiedene Arten machen und eine davon kollidiert gelegentlich mit den open_basedir. Den safe_mode würde ich aber wie gesagt definitiv nicht abschalten, der ist das a und o für Serversicherheit.

                  Hilft mir das weiter!?

                  Kommentar


                  • #24
                    Fakt ist, deine Einstellungen werden nicht übernommen. Stell sicher, dass die richtige INI geladen wird oder füge den verwendeten Temp-Pfad zum open_basedir hinzu.

                    Kommentar


                    • #25
                      Den safe_mode würde ich aber wie gesagt definitiv nicht abschalten, der ist das a und o für Serversicherheit.
                      Würde ich jetzt nur bedingt zu stimmen: Das A und O sind sauber und sicher programmierte Scripte. Denen ist es dann egal ob safe_mode ON oder OFF.
                      Denn auch Scripte unter safe_mode ON können noch genug Unheil anrichten.
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #26
                        Ich versteh ihn da schon, auf dem Server programmieren ja noch mehr rum, ich weiß nicht, ob das php.ini nur für mich ist oder für alle Kunden, aber da sind bestimmt auch noch ein paar alte Scripte dabei.

                        Bringt mir aber alles nichts, ich will, daß der Bildupload irgendwie funktioniert - und krieg das Problem nicht gelöst!
                        Gibt es eine Alternative dazu, daß der was ändert?
                        Kann ich Programmiertechnisch was machen?

                        Kommentar


                        • #27
                          Ja?
                          Der save mode wird mit PHP6 abgeschafft!
                          Warum wohl?

                          Kann ich Programmiertechnisch was machen?
                          Sagte ich doch vorher schon....
                          Evtl. per .htaccess den uploaddir einstellen.
                          Wir werden alle sterben

                          Kommentar


                          • #28
                            Hab mir htaccess mal angeschaut. Hab damit noch nie was gemacht.
                            Also hab ich mir mal so eine Datei angelegt:

                            DirectoryIndex default.html

                            Sodann eine default.html angelegt und ins gleiche Verzeichnis (das ansonsten leer ist) geschmissen.

                            Ergebnis:

                            IISPassword
                            The page cannot be displayed

                            ...blablabla

                            HTTP Error 500
                            IISPassword for Internet Information Services

                            Paßwort? Hä? woher? Welches? Wie?
                            Muß da noch was rein in die Datei? War in den Beispielen aber nirgends zu finden!

                            Ob dieses Override-dingens auf none ist, weiß ich nicht, kann ich auch nicht rauskriegen...


                            EDIT:

                            Vielleicht ist der Satz oben nicht ganz klar, ich hab natürlich eine .htaccess angelegt, mit dem Inhalt
                            DirectoryIndex default.html
                            zum Testen. Daraufhin kam die genannte Meldung.

                            Zuletzt geändert von Pust; 21.07.2008, 23:11.

                            Kommentar


                            • #29
                              Wieso passwort?
                              Es dreht sich doch um den Upload Path, oder?
                              Siehe: http://www.php.net/manual/de/configuration.changes.php
                              Wir werden alle sterben

                              Kommentar


                              • #30
                                Ja, ich weiß, aber hab als test ja nur mal die index-Datei ändern wollen und da kam genau die oben beschriebene Meldung...

                                Kommentar

                                Lädt...
                                X