• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Anbieten eines PDFs nur für authentifizierte User

themrdomi

Mitglied
Hallo zusammen,
ich habe eine Webseite auf der sich meine User einloggen können. Die Benutzerdaten sind in einer MySQL Datenbank gespeichert. Nun möchte ich dem eingeloggten Nutzer ein PDF Dokument zum Download anbieten.
Natürlich könnte ich dem User einfach den Link zum Dokument anzeigen, den der nicht-eingeloggte User nicht sehen kann, allerdings kann die Datei ja trotzdem herunterladen werden, insofern der Pfad zum Dokument irgendwie bekannt wird. Meine Idee war folgende: Ich speichere das Dokument in einem bestimmten Ordner auf dem Server und nehme jedem außer dem Server selbst alle Permissions auf die Datei. Dann kann ich ein PHP Script schreiben, welches die Datei zum Download anbietet und damit dem Server praktisch suggeriert, dass der Server das Dokument braucht und nicht der User. Dann natürlich im Script entsprechend prüfen ob der User eingeloggt ist oder nicht.
Kann das funktionieren? Falls nicht, habt ihr einen Vorschlag?

Gruß,
 
Statt der Datei würde ich ein Verzeichnisshutz vorschlagen, dann kann nur das Script zugreifen aber nicht der User.
 
Das macht man mit Route Protection. Bei Aufruf der Seite mit dem herunterladbaren Dokument werden nicht authentifizierte User zur Startseite redirected.
 
Danke, das hilft mir schonmal weiter.
Route protection funktioniert mit Laravel oder? Habe leider gerade keinen Zugang zu einem PC.
Werde mich noch genauer informieren...

Gruß,
 
Zuletzt bearbeitet:
Ich bin kein PHP-Entwickler, aber guarded Routes sollten einschlägige MV* Frameworks an Bord haben. Zumindest Angular kann das.
 
Hallo,
alles klar.
Wobei ich eigentlich kein Framework einbinden wollte. Was spräche denn dagegen, den entsprechenden Ordner mit htaccess gegen Zugriff zu sichern und per PHP auf die Datei zuzugreifen?

Gruß,
 
Was spräche denn dagegen, den entsprechenden Ordner mit htaccess gegen Zugriff zu sichern und per PHP auf die Datei zuzugreifen?

Weil das eine Ghetto-Lösung ist. Oder bist du bei irgend einem Anbieter für digitalen Content schon mal über ein hässliches .htaccess Popup gestolpert?

Du kannst den User auch ohne Framework redirecten.
 
Alles klar.
Wie genau hattest du deinen Vorschlag denn gemeint?
Wann genau wird der User redirected?
Wenn er versucht auf den Ordner zuzugreifen in welchem die Datei ist? Das wäre doch auch keine schöne Lösung wenn der Download nur dadurch verhindert wird, dass kurz vor dem Starten des Downloads weggeleitet wird.
Wenn dann würde es sich doch anbieten, die Dateien in einem Ordner außerhalb vom www Ordner aufzubewahren und dann mit PHP zu fetchen richtig?

Gruß,
 
Zuletzt bearbeitet:
Das wäre doch auch keine schöne Lösung wenn der Download nur dadurch verhindert wird, dass kurz vor dem Starten des Downloads weggeleitet wird

Das Stichwort lautet Authorisierung. Jeder User ist Mitglied einer Gruppe und jede Gruppe ist mit Berechtigungen verbunden.

Wenn du diese Seite in einem anonymen Fenster als Gast aufrufst, werden dir keine Buttons für 'Antwort erstellen' 'angezeigt. Du darfst lediglich mitlesen. Als registrierter User ist es möglich, Threads zu erstellen und zu beantworten, aber nicht auf Bereiche zuzugreifen, für die keine Berechtigung vorliegt.. Als Mod kann ich noch mehr tun, habe aber trotzdem keinen Zugriff auf den Server.
 
Zurück
Oben