PDFs über Userlogin gegen Zugriff schützen

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

  • PDFs über Userlogin gegen Zugriff schützen

    Hallo Gemeinde,

    ich habe ein Usermanagementsystem mit Login über Sessions, die in einer mySQL gespeichert werden. Soweit alles schön, ich kann jeder PHP-Seite im Header sagen, "nur anzeigen, wenn eingeloggt". Soweit alles schön.

    Nun sollen PDF-Dateien hochgeladen werden können. Auch kein Problem. Diese sollen aber, wenn jemand die konkrete URL eines PDFs kennt, auch nur nach einem Login sichtbar sein.

    Kann ich nen SessionCheck in die PDFs einbauen? Oder wie mache ich das? htaccess kann ja nicht die Lösung sein!?

    Grüße

    sabi

  • #2
    htaccess kann ja nicht die Lösung sein!?
    Doch doch, zumindest ein Teil der Lösung....

    1. Die PDF in einen geschützten Ordner stopfen.
    2. http://de3.php.net/manual/de/function.header.php Siehe Beispiel #1
    3. Das Beispiel um deinen Logintest erweitern
    Wir werden alle sterben

    Kommentar


    • #3
      So...

      PHP-Code:
      <?php
      if ($loguser!='' and $userart=='admin')
      {
      header('Content-type: application/pdf');
      header('Location: pdf/datei.pdf');
       }
      else
      {
        echo 
      "<h2>Sie haben keinen Zugriff!</h2>";
      }
      ?>
      Soweit schön,

      jedoch sieht der User in der URL, wenn er die PHP-Datei aufruft die URL der eigentlichen PDF-Datei.
      Zuletzt geändert von sabinchen; 29.09.2008, 11:36.

      Kommentar


      • #4
        Warum orientierst du dich nicht an Beispiel 1 der Header Doku?
        Warum poste ich das überhaupt.......?

        Was soll der Location Header bringen, wenn doch der Zugriff per htaccess FÜR ALLE verboten ist?

        Der content-type und der Location Header passen nicht zusammen.

        Nee...
        Das solltest du nochmal überdenken.
        Wir werden alle sterben

        Kommentar


        • #5
          Das habe ich getan,

          PHP-Code:
          <?php
          // Wir werden eine PDF Datei ausgeben
          header('Content-type: application/pdf');

          // Es wird downloaded.pdf benannt
          header('Content-Disposition: attachment; filename="downloaded.pdf"');

          // Die originale PDF Datei heißt original.pdf
          readfile('original.pdf');
          ?>
          Nur möchte ich weder die Datei anders nennen, noch den User zum Speichern zwingen.

          Mein Lösungsansatz ist: PDF im per htaccess-gesicherten Bereich ablegen. Per PHP entscheiden, darf user PDF sehen oder nicht, wenn ja, dann per header PDF-Datei ranholen und anzeigen.

          Damit wäre doch die Lösung von mir oben korrekt oder nicht?

          Grüße

          Kommentar


          • #6
            Original geschrieben von sabinchen
            Mein Lösungsansatz ist: PDF im per htaccess-gesicherten Bereich ablegen. Per PHP entscheiden, darf user PDF sehen oder nicht, wenn ja, dann per header PDF-Datei ranholen und anzeigen.
            Du holst damit nichts her, sondern leitest jemanden weiter. Es kann also jeder der die URL zum PDF kennt das PDF auch herunterladen.

            Kommentar


            • #7
              Also per fread das PDF "ranholen" ?

              Kommentar


              • #8
                Original geschrieben von sabinchen
                Also per fread das PDF "ranholen" ?
                Zum Beispiel ...und drauf achten, dass das PDF nicht doch vielleicht von außen zugänglich ist.

                Kommentar


                • #9
                  Wieso, readfile() ist doch voll ok !
                  Damit kann man die Date aus dem geschützten Ordner rausholen. Ein Location Header hilft dir da nicht!



                  Nur möchte ich weder die Datei anders nennen,
                  Wieso anders?
                  Ordendlicher Name, und gut ist!

                  noch den User zum Speichern zwingen.
                  Wie wäre es dann mit inline anstatt attachment?
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    Original geschrieben von combie
                    Wieso anders?
                    Ordendlicher Name, und gut ist!
                    "Weder" anders... Hab aber auch zuerst "wieder" gelesen.

                    Kommentar


                    • #11
                      Wieso "auch" und "wieder" ?
                      Ich bin bei "weder"!
                      Wir werden alle sterben

                      Kommentar

                      Lädt...
                      X