Verzeichnis auslesen

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

  • #31
    Original geschrieben von chrissie82
    Hm....
    hab das jetz alles probiert und so... aber bekomme es leider nich zum laufen... es kommen immer wieder "parse-errors"

    kannst mir mal ein Beispiel posten, wie ich deinen Code genau in meinen einbinde??
    Und das Bild, was im Unterverzeichnis liegt, muss sich beim anklicken öffnen... wie funktioniert das??

    Meinst Du mich?

    Ich habe vor ein paar Tagen eine kleine (nicht öffentliche - denn dazu ist das Out fit zu mager) Bilderausstellung damit gemacht. Da kannst Du es sehen, achte bitte auf die Adreßzeile, es sind die Scripts die ich walk_t, walk_tp und walk_p nannte. Diese scripts sind ja lediglich zur eigenen Orientierung eingerichtet - für öffentliche Angelegenheiten werden sie nicht verwendet.

    Also - solltest Du mich gemeint haben - ich kopiere Dir die Scripts gern und helfe Dir bis Du sie bei Dir zum Laufen brachtest (was selbstredend auch andere Forumsteilnehmer tun können) - die Scripts sind ja wirklich nicht groß und kompliziert - es sollte darum recht fix gelingen.

    http://haufenzeug.de/_m_p_/s/vernissagen/walk_t.php

    Während des Spaziergangs sieht das oberste dir so aus
    http://haufenzeug.de/_m_p_/s/verniss...k_t.php?path=.

    Man kann also einen Besucher mit dem angehängten Pfad in ein bestimmtes Verzeichnis führen, indem man aus gewünschtem Verzeichnis heraus die Brauser - Adresszeile kopiert.

    Zurück geht's ümma mit "parent directory".

    Verzeichnisse mit Namen 320 enthalten Bilder mit max 320 pix Kantenlänge, für 640 gilt das sinngemäß.
    Alles ist schön was man in Liebe betrachtet
    -
    Humor is wennste trotzdem lachst

    Kommentar


    • #32
      Hallo cheC,

      genau so möchte ich es bei mir auch haben!!!
      Hast du vielleicht etwas Quelltext für mich??
      Vielen Dank schonmal

      Chrissie

      Kommentar


      • #33
        Ich hab hier jetz einige Unklarheiten über die Backlash/Slash Sache gehört...

        Also wenn der Code sowohl unter Linux wie auch Windows laufen soll, nehmt einfach einen einfachen Slash.

        Wollt ihr aber das Script nur auf Windows verwenden:
        Da braucht man zwei Backlashes (\\) weil der erste dazu da ist, den nachgehenden zu escapen und Windows die Dateipfade mit Backlashes unterteilt.

        Aber PHP versteht auch / und übersetzt richtig.

        also nehmt einfach / das läuft plattformübergreifend und ist einfacher,ooookaaay ?

        Deine Rekursive Funktion scheint fast zu funktionieren, doch irgendwo liegt da noch ein kleiner Denkfehler, werds auch mal anschauen

        Kommentar


        • #34
          Original geschrieben von pozy

          Ich hab hier jetz einige Unklarheiten über die Backlash/Slash Sache gehört...


          in anderen Worten


          Dir ist es unklar geblieben


          stimmt's?
          Alles ist schön was man in Liebe betrachtet
          -
          Humor is wennste trotzdem lachst

          Kommentar


          • #35
            Ich muss doch nochmal was hierzu loswerden!!
            Ich habe gehört, dass meine Variante nicht sicher ist...
            ich möchte ja, dass jeder Benutzer nur auf seinen Verzeichnispfad zugreifen kann und somit nur die für ihn bestimmten Bilder betrachten. Nun habe ich aber gehört, dass es durch direkte Adresseingabe im Browser möglich ist, auch Bilder aus anderen Verzeichnissen zu betrachten... wie kann ich denn so etwas ausschließen??

            Kommentar


            • #36
              Mit htpassword - Dateien, die in die Verzeichnisse kopiert werden. Es gibt htaccess und htpassword - zur Kontrolle darüber wer was wo nicht darf oder darf.

              In htpassword - Dateien werden die Namen und Passworte derjenigen Benutzer gespeichert, die Zugang zu einem Verzeichnis haben, dieselbe Datei sagt dann zu allen Anderen Besuchern: "Sorry, get nich wat Du hier vorhast", resp etwas realistischer: "Access denied" oder sowas, was dem Server aufgetragen wurde zu antworten. Bei nächstem Klick kommt dann meist eine Antwort - Seite, die alternativ angezeigt wird weil ja das gewünschte Ziel nicht zur verfügung steht und die sagt meistens: "Authorization required".

              Wie Du das machst - htpassword - Dateien erstellen und zum Server kopieren?
              Dazu gibt es kleine Admin - Scripts, entweder als freeware oder als Teil von Shareware - Angeboten oder in Open Source - Admintools.

              Wie Du da dran kommst?
              Ein wenig herumsuchen und dann ausprobieren was Dir am besten gefällt, womit Du am besten zurecht kommst.
              Alles ist schön was man in Liebe betrachtet
              -
              Humor is wennste trotzdem lachst

              Kommentar


              • #37
                Original geschrieben von cheC
                Mit htpassword - Dateien, die in die Verzeichnisse kopiert werden. Es gibt htaccess und htpassword - zur Kontrolle darüber wer was wo nicht darf oder darf.
                Diese Antwort ist - für den vorliegenden Fall - vollkommener Quark.
                Hier wird durch ein PHP-Script ein Verzeichnis im Dateisystem des Webservers ausgelesen - HTTP ist also gar nicht im Spiel.


                Um das "Problem" zu lösen, dass der Benutzer durch Manipulation von Parametern in Verzeichnisse "hineinsehen" kann, die er nicht sehen soll, muss man im PHP-Script selbst überprüfen, ob der Parameter im gültigen Bereich liegt.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #38
                  Original geschrieben von wahsaga

                  Diese Antwort ist - für den vorliegenden Fall - vollkommener Quark.


                  Ich verabschiede mich und wünsche den trauernden Hinterbliebenen noch recht viel Spaß - mit solch' aggressivem und unfreundlichem Umgang.
                  Alles ist schön was man in Liebe betrachtet
                  -
                  Humor is wennste trotzdem lachst

                  Kommentar


                  • #39
                    Soweit ich weiß, kann man PHP Scripte in den "geschützten" Bereich stellen. Das habe ich ja auch gemacht... durch mein Loginsystem... somit sind ja eigentlich gar keine direkten Seitenaufrufe möglich, ohne sich vorher einzuloggen.
                    Die Verzeichnisse, zu denen die User dürfen, stehen in der Datenbank. Ich überprüfe also ob der SessionName dem Datenbank-Usernamen entspricht. Falls ja, wird das Verzeichnis angezeigt.
                    Nun habe ich aber erfahren, dass Bilder, die im wwwroot-Verzeichnis liegen, trotzdem von anderen Usern einsehbar sind, weil diese direkt aufgerufen werden können... also z.B. mit:
                    http://localhost/chrissie_20/bild.jpg
                    Und genau das muss ich irgendwie verhindern.... habe schon gehört das es doch besser ist die Bilder direkt in der Datenbank zu speichern, wegen der Sicherheit.... was meint ihr??

                    Kommentar


                    • #40
                      Dieser geschützte Bereich den du meinst kannst du durch .htaccess Dateien erreichen.

                      Mit denen kann man gewisse Apache Konfigurationswerte für Teile der Homepage ändern.

                      Es gibt ja die Möglichkeit das mit Passwörter zu schützen mit der zusätzlichen .htpasswd und den nötigen Zeilen in der .htaccess, was man allerdings dort hinschreiben müsste, das niemand auf das Verzeichnis zugreifen kann, weiss ich nicht...

                      Könnt mir aber vorstellen, es wäre sowas wie:
                      Deny All

                      Da PHP nicht über Apache auf die Dateien zugreifft, wie es wahsaga gesagt hat, kann es das Verzeichnis weiterhin auslesen... Das Problem ist aber das du dann nicht Links im Script anzeigen kannst ala http://localhost/chrissie_20/bild.jpg sondern du müsstest über ein php script den inhalt der datei lesen und ausgeben (mit richtigen Header...), dass das nachher etwa so ausschaut:

                      http://localhost/download.php?bild=bild.jpg

                      Pass da ja auf , kann man gut missbrauchen, wenn man nicht vorsichtig ist...
                      Hint: http://localhost/download.php?bild=/etc/shadow

                      Die einfachste Möglichkeit wäre es natürlich schon, die Bilder in der DB zu speichern. Die Frage ist ob dann dein Server bei einer gewissen DB-Grösse nicht massiv langsamer wird...

                      Aber beide Möglichkeiten kann man nicht als sauber betitteln.
                      Zuletzt geändert von pozy; 13.12.2005, 11:01.

                      Kommentar


                      • #41
                        Na dann sollte ich die Bilder vielleicht doch direkt in der Datenbank speichern. Ich benutze nämlich auch nicht den Apache, sondern den Microsoft Internet Information Server.
                        Denke nicht das die Datenbank zu "voll" wird, denn nach einem gewissen Zeitraum sollen die Daten wieder gelöscht werden...
                        Hat vielleicht jemand einen guten Link, wie ich sowas am besten löse?? Habe schonmal ein Script, womit ich die Bilder in die Datenbank hineinschaufele... allerdings noch keines, was diese wieder herausholt...

                        Kommentar


                        • #42
                          Wenn du den IIS mit PHP verwendest kann ich dir sowieso nicht mehr weiterhelfen

                          und beim herausholen aus der DB...
                          das sind SQL Grundbefehle die dafür brauchst.

                          aber ich kann schlecht verstehen, dass jemand der mit php programmiert nicht weiss wie man das selber tun könnte und sich diese einfachsten scripts schon herunterladen muss...

                          ich denke du solltest dir vielleicht erst mal ein PHP & MySQL buch reinziehen und losschreiben.

                          das anzeigen kannst dir bei download-redirect scripts abschauen, da werden teils header gesetzt.


                          Naja, werd dir trozdem einen kleinen leitfaden geben:


                          Datei: anzeigen.php?datei=13
                          1. Richtige Datei anhand mitgegebenen datei variable und gespeicherter Userid aus session, aus der Datenbank ziehen.
                          2. Dieses Resultat in einer variable speichern (dort sind dann die binären daten des bildes drin)
                          3. Headers auf den Bildtyp setzen
                          4. variable ausgeben

                          Möglicherweise In der Verzeichnisschlaufe des Anzeigescripts sowas:

                          <img src="anzeigen.php?<?=$bildid;?>" border="0">


                          hoffe ich konnte dir ein wenig helfen,
                          gute nacht.

                          Kommentar

                          Lädt...
                          X