Announcement

Collapse
No announcement yet.

include und geschütztes Verzeichnis

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • include und geschütztes Verzeichnis

    Hallo,

    mit dem include befehl kann man ja seiten aus einem
    geschützten Verzeichnis lesen und anzeigen lassen.
    Die Passwortabfrage erscheint ja nur beim direkten Zugriff.

    Soweit sogut.

    Möchte aber auch gerne Grafiken aus einem geschützten
    Verzeichnis lesen und anzeigen lassen.

    Mit include erscheinen nur "wirre Zeichen" auf dem
    Bildschirm und wenn ich es mit <img src="....
    mache wird nach dem Passwort des Verzeichnisses gefragt.

    Gibt es für Grafiken auch eine Lösung ?

    viele Grüße
    Donald

  • #2
    Hallo Donald,

    einfach mit INCLUDE ein Bild über php ausliefern funktioniert nicht. Du müßtest wenigstens den content-type im Header richtig setzen, damit der Browser auch "weiß" was er anzeigen soll. (Standardmäßig ist dies text/html)
    Eine einfache Lösung um mit PHP ein Bild aus einem "geschützten" Verzeichnis anzuzeigen sieht in etwa so aus:
    <code>
    <?php
    header("content-type: image/jpeg");
    header("pragma: cache");
    $picName = 'mein_geschuetztes_verzeichnis/mein_bild.jpg';
    if (file_exists($picName)) {
    readfile($picName);
    exit;
    }
    else {
    header("status: 404 Not Found");
    }
    ?></code>
    Durch die Abfrage ob das Bild existiert und ggfs. Ausliefern des Status 404, wird sichergestellt, das der Browser in diesem Fall das "Standardfehlerbild" bzw. den Alt-text anzeigt und nicht einfach nur "Nichts"
    .
    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      &lt;off_topic&gt;
      Die Möglichkeiten dieses "Entwicklerforums" zur Darstellung von Quelltext können einem die Zornesröte ins Gesicht treiben *grrrr* (
      Alles was mit &lt; code &gt; formatiert ist wird linksbündig angeklatscht und bei &lt; pre &gt; wird jeder Zeilenumbruch verdoppelt.
      &lt;dampfablass&gt;
      Das ist Bullshit liebe Admins - aber von denen liest hier eh keiner
      &lt;/dampfablass&gt;
      &lt;/off_topic&gt
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hi,

        soweit klappt ja dein Vorschlag, nur wenn
        ich beides machen will geht es wieder nicht.
        Meine, lese eine Datei per include aus einem
        geschützen Verzeichnis und auch eine Grafik
        aus einem anderen geschützen Verzeichnis
        per readfile, dann werden statt der Grafik wieder
        nur wirre Zeichen eingeblendet.

        Gibt es dafür nicht noch eine andere Lösung ?

        Donal

        Comment


        • #5
          Hallo Donald,

          <b>entweder</b> das Script liefert lesbare Daten zurück mit content-type: text/html <b>oder</b> einen binärstream ala content-type: jpeg.
          Beides gleichzeitig geht nicht!
          Im Endeffekt mußt du dich mit PHP immer auf der Ebene von HTML bewegen und wenn du in HTML ein Text und Bild anzeigen willst, dann machst du das so:
          &lt; html &gt;
          &lt; body &gt;
          &lt; p &gt;hier der Text&lt;/ p &gt;
          &lt; img src=&quot;quelle_fuer_bild&quot; &gt;
          &lt;/ body &gt;
          &lt;/ html &gt;

          Die Verarbeitung kannst du natürlich in einScript stecken, z.B.:
          &lt;?php
          if (isset($_REQUEST['bild']) {
          header(&quot;content-type: image/jpeg&quot;
          header(&quot;pragma: cache&quot;
          $picName = 'mein_geschuetztes_verzeichnis/mein_bild.jpg';
          if (file_exists($picName)) {
          readfile($picName);
          exit;
          }
          else {
          header(&quot;status: 404 Not Found&quot;
          }
          exit;
          }
          else {
          ?&gt;
          &lt; html &gt;
          &lt; body &gt;
          &lt; p &gt;&lt;?php include('mein_geschuetztes_verzeichnis/mein_text.txt'); ?&gt;&lt;/ p &gt;
          &lt; img src=&quot;diesesScript.php?bild=1&quot; &gt;
          &lt;/ body &gt;
          &lt;/ html &gt;
          &lt;?php } ?&gt;

          Wird dem Script diesesScript.php ein Parameter bild übergeben, so wird entsprechend ein Bild ausgeliefert, ansonsten HTML-Code, in den der Text und ein img-Tag eingebunden sind. Der img-Tag hat als quelle dann dieses Script mit Parameter bild=1.

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Die Leerzeichen in den Tags sind natürlich Gülle, aber wenn die nicht da sind, dann wird das HTML hier interpretiert, selbst wenn man die < alt entities schreibt ( grrr
            Aber über die Formatierung hier hab ich mich ja schon ausgelassen
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment

            Working...
            X