Computerhilfen.de Logo
Forum
Tipps
News

pfd vor direktem aufruf schützen

Hallo,

meine frage: wie kann ich pdf-dateien vor einem direkten aufruf schützen?
soweit ich weiß, können pdfs mit java umgehen - ich aber nicht ;-)
Gibt es vielleicht in java eine funktion, die so ähnlich funktioniert wie

<?php require("xy"), ?>

für eingeloggte user (bzw. solche, die sich bereits auf der seite befinden, in der das pdf mittels iframe eingebaut ist) sollen die dateien nämlich aufrufbar sein.

vielen dank im voraus
lg
j.


Antworten zu pfd vor direktem aufruf schützen:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

kommt drauf an, wie wichtig das PDF für dich ist. Wenn keiner weiß, dass die Datei existiert und wie sie heißt, dann kannste sie doch einfach hochladen, und eben nur den Usern anzeigen. Alternativ kannst du die Datei ja auch in ein mit .htaccess geschütztes Verzeichnis legen, oder gleich außerhalb des DOCUMENT_ROOT. Kommt drauf an, wie du dass Login der User machst? (htacceess? Sessions?)

Mario 8)

das login funktioniert über die weitergabe einer eindeutigen UIN.
Das Problem ist, dass beim laden des iframes unten in der statusleiste ja die url des files angezeigt wird. wenn jemand das checkt wird er sich wohl in zukunft nicht mehr die mühe machen, sich einzuloggen...

ist es denn nicht irgendwie möglich, ein skript in das pdf file einzubinden bzw. mit ihm zu verknüpfen?

lg
j.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Achso, das meinste...
mmh, aber das ist ein Browserfeature, d.h. da kanst du nix machen. Wenn du einen normal Link hast, dann könntest du die Statuszeile noch evtl. manipulieren, s dass beim drüberfahren mit der Maus kein Pfad angezeigt wird. Aber wenn er die Seite direkt läd, kannst du da IMHO nix machen. Zumal ja die Statuszeile eh so eine Sache für sich ist. Zu einen kann ja der Benutzer des Browsers wählen, ob sie überhaupt angezeigt werden soll, zum anderen zeigen viele Browser einen selbst definierten Satustext gar nicht an, sondern immer den Pfad.
Naja und ehrlich gesagt an den Pfad der des Iframes oder der PDF lässt sich auch noch viel leichter rausbekommen, als über die Statuszeile, wo er evtl. nur ei oder zwei Sekunden angezeigt wird. Bspw. über die Seiteninformation, einfach ein Spitzen Feature, da wird alles auf deiner Seite angezeigt, Formulare, Links, eingebundene Medien... und alles mit den absoluten Pfaden. Also insofern brauchst du dir da keine Hoffungen machen.

Um das mit dem direkten aufrufen zu vermeiden, musst du dir wohl ne andere Lösung einfallen lassen. Da bleiben nicht mehr viele, außer die mit .htaccess oder du legst das PDF ausserhalb des DOCUMENT_ROOT, dann kann es keine direkt aufrufen, aber du kannst es in deinem Script/IFrame einbinden.

Mario 8)


alles klar,danke trotzdem :-)


"oder du legst das PDF ausserhalb des DOCUMENT_ROOT"

kannst du mirzum Schlussvielleicht noch erklären, was das genau bedeutet?

danke!
lg
j.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Jo, das geht nur, wenn dir dein Provider das auch erlaubt. Das Document_Root Verzeichnis ist das Verzeichnis, in dass du beim Aufruf deines Domains (www.domainname.de) geleitet wird. Wie gesagt es ist der oberste Knoten. In dem Verzeichnis muss dann deine index.html oder index.php (o.ä) liegen und darunter kannst du dann deine Homepage(s) aufbauen.
Auf alle Verzeichnisse die neben dem Document-Root existieren (auf gleicher oder höherer Ebene) kann man nicht per URL zugreifen. Auf diese Verzeichnisse (und darin befindliche Inhalte) kann man nur mit einem Script zugreifen.

Wenn du bspw. bei dir lokal einen Webserver installiert hast (Apache) dann ist das Document-Root dort das Verzeichnis "htdocs", nur bis dorthin kannst du per URL zugreifen (http://localhost). Verzeichnisse auf gleicher ebene erreichst du nicht, außer eben mittels eines Scriptes

Mario 8)

___

« Letzte Änderung: 09.07.05, 15:04:55 von bernd-x »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Was evtl. auch gehen würde, aber etwas Bastelei erfordert, ist folgendes:

Jedesmal, wenn ein eingeloggter User die Seite betritt, auf der das PDF geladen werden kann, wird im Hintergrund von PHP ein Zufallsstring generiert. Die PDF wird nun kopiert, die Kopie erhält als Namen den Zufallsstring und die Endung pdf. Dieser Name wird dynamisch als URL in das entsprechende src="..." Attribut geschrieben. Somit wird die originale Adresse des PDFs niemals preisgegeben.

Der Haken: man müsste eine Art Garbage Collector implementieren, der ab und zu ältere Kopien löscht, sonst ist recht schnell der Webspace dicht. Das könnte z.B. auf Basis des Erstellungsdatums der Dateien erfolgen.

greez 8)
JoSsiF


« 1&1 Profiseller eure ErfahrungenÜber das Internet telefonieren »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!