Also, falls der Schutz nicht 100% gehen muss, wäre vielleicht eine Lösung per .htacces etwas. Dabei wird einfach der übertragene Referrer geprüft und ggf. das Laden der Datei verweigert. Das gibt es in zwei Varianten:
Einmal so, dass leere Referrer auch abgewiesen werden:
http://www.andreas-puls.de/hotlinking-sch…-referrer-check
Das heißt, es kriegt wirklich nur der die Datei zu sehen, der sie über einen Link auf Deiner Seite aufruft. Bookmarken oder direkt in die Adresszeile eintippen geht nicht. Man kann die Referrer-Übertragung im Browser ausschalten, diese Nutzer kriege es dann auch nicht zu sehen.
Zweite Variante: Leere Referrer werden zugelassen:
http://www.php.de/server-hosting…er-sperren.html
Dann kann man bookmarken oder eben die Datei aufrufen, wenn man keinen Referrer mitschickt. Wer einem Link aus einer fremden Seite folgt, wird aber abgewiesen. Das ist weniger strikt und lässt sich eben umgehen, macht dafür aber weniger Nutzern Probleme.
Bei beiden Varianten müssen Nutzer Deiner eigenen Seite kein Captcha ausfüllen, was ja doch immer ziemlich nervt.