Ankündigung

Einklappen
Keine Ankündigung bisher.

"mein PHP" soll auf einen Ordner, der über htaccess beschränkt ist, zugreifen können

Einklappen

Neue Werbung 2019

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

  • "mein PHP" soll auf einen Ordner, der über htaccess beschränkt ist, zugreifen können

    Hallo,

    ich habe im Ordner uploads/ eine .htaccess Datei mit folgendem Inhalt:
    Code:
     Order Deny,Allow Deny from all
    Mein PHP-Code möchte ein Bild aus dem Ordner Image anzeigen lassen, aber das Bild lässt sich nicht anzeigen. Sobald ich den Inhalt aus der .htaccess entferne, funktioniert die Anzeige einwandfrei.

    Ich möchte lediglich das Ganze so haben, dass mein PHP Code auf allen Ordner samt Inhalte zugreifen kann. Der "externe Nutzer" soll dabei nicht die Möglichkeit haben. (Z.B. www.example.com/uploads/images/hund.jpg aufrufen und das Bild NICHT sehen können)

    Des Weiteren habe ich erfahren können, dass ein PHP Code (z.B. <img src="images/uploads/hund.jpg">) im Prinzip auch "extern" zugreift und deshalb die Anzeige nicht funktioniert. Stimmt es?

    Kann bitte wer mir erklären, ob sowas überhaupt funktioniert?

    Über jegliche Erklärung freue ich mich sehr.

    Vielen Dank im Voraus.

    Mit freundlichen Grüßen

    #edit
    ich glaube, ich habe das Thema im falschen Bereich eröffnet, sorry.

  • #2
    PHP kann defacto auf den Ordner zugreifen. Nämlich auf FileEbene, damit hat die .htaccess nämlich keinen Einfluss.

    Mein PHP-Code möchte ein Bild aus dem Ordner Image anzeigen lassen
    Zeig mal den Code.


    dass ein PHP Code (z.B. <img src="images/uploads/hund.jpg">)
    Das ist kein PHP, sondern HTML.


    Für Domains hier bitte example.com verwenden, die ist extra dafür gedacht. Danke!

    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      HTML-Code:
      <img src="images/uploads/hund.jpg">
      Ist kein PHP-Code sondern ein HTML-Tag. Und ja, das ist dasselbe wie ein Zugriff von aussen und wird deshalb von .htaccess geblockt.
      Wenn du das auf diese Art machen willst musst du Dir ein Script schreiben, welches das Bild liest (file_get_contents()) und ausgibt. So kann man das lösen.

      Kommentar


      • #4
        Nicht file_get_contents, besser readfile. Sonst wird der Datei Inhalt erst in den RAM geladen und dann ausgegeben. Das ist unnötig. Readfile leitet den Dateiinhalt direkt in den Ausgabebuffer weiter.
        http://php.net/manual/de/function.readfile.php

        Kommentar


        • #5
          Ups ... ja das ist natürlich HTML ...

          Vielen Dank Leute.

          Zeichen32 habe eben danach gegoogelt und eine ähnliche Antwort dazu gefunden. Der Code von stackoverflow:

          PHP-Code:
          $remoteImage "http://www.example.com/uploads/images";
          $imginfo getimagesize($remoteImage);
          header("Content-type: {$imginfo['mime']}");
          readfile($remoteImage); 
          Wie schaffe ich es, dass das Bild auf meiner PHP-Seite mit all den anderen Elementen angezeigt wird? (Und nicht nur das Bild an sich: sowas wie rechtsklick aufs Bild und Bild in neuem Tab öffnen)

          Beispiel:
          PHP-Code:
            <div class="box"> <?php echo '<img src=" ' readfile($remoteImage) . ' " >'?> </div>

          Kommentar


          • #6
            HTML-Code:
            <img src="script.php" alt="" />

            Kommentar


            • #7
              Du brauchst ein separates Script, also z.b. image.php, welches den von Dir geposteten Code beinhaltet.
              Und dann sieht Dein HTML so aus:

              HTML-Code:
              <div class="box">
                  <img src="image.php">
              </div>

              Kommentar


              • #8
                Viel neues gelernt und damit vielen Dank Leute.

                Vielleicht noch eine letzte Frage:

                Ist der obige Code eigentlich an sich okay? Ich mein hinsichtlich Sicherheit?


                Kommentar


                • #9
                  Das aber wohl nur wenn es nur ein Bild gibt, ansonsten das darzustellende Bild einfach hinten dran hängen und das Script anpassen $_GET.
                  HTML-Code:
                  <div class="box">
                      <img src="image.php?img=bild123.jpg">
                  </div>

                  Kommentar

                  Lädt...
                  X