Dateidownloads nur von Hostdomain ohne Fremdverlinkung - wie lösen?

2nd

2nd

Aktives Mitglied
Thread Starter
Dabei seit
25.07.2004
Beiträge
9.018
Reaktionspunkte
243
Moin,

wie löse ich am besten folgendes Problem:

Ich habe Videoclips, die ich in 2 Versionen (HiQ und LoQ) zum Download anbiete. Mein Downloadscript (PHP) hat einen eingebauten Zähler und ich übergebe im Link nur eine ID, das Script stellt dann die richtige Datei bereit.

Ich will aber, dass meine Clips nicht direkt von anderen Homepages aus verlinkt werden, d. h. ich möchte nicht dass

1. der Link mit der ID von einer andere Domain funktioniert
2. die Datei direkt von einer anderen Domain verlinkt werden kann (nach Ermitteln des Pfades)

Lösung 1 könnte ich mir noch so vorstellen, dass ich in meinem Downloadscript den aufrufenden Referrer analysiere und bei Aufruf von !meiner Domain den Schacht dicht mache - jedoch sollen nicht alle Browser einen Referrer übertragen?!? Was ist die Alternative?

Lösung 2 geht sicher mit .htaccess oder? Wäre das hier die Lösung?

HTML:
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://domainname.com.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.domainname.com.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://domainname.com:80.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://www.domainname.com:80.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://192.168.100.120.*$ [NC] 
RewriteCond %{HTTP_REFERER} !^http://192.168.100.120:80.*$ [NC] 
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.domainname.com/nohotlinking.htm


Habe ich bei meinen Bedenken noch etwas wichtiges vergessen?

Danke,

2nd
 
Die von dir gepostete .htaccess Datei macht auch nichts anderes, als den Referrer zu prüfen.
Was eventuell eine Möglichkeit wäre ist eine "zufällige" ID zu vergeben, die nur einmal gilt.
Nach einem Download wird diese ID verworfen und der Link funktioniert einfach nicht mehr. Da nur du weißt, welche IDs noch frei sind und zu welchem File sie gehören sollte das vor fremden Downloads schützen.
 
Hmm, alles klar. Das mit den IDs klingt ganz gut, in Verbindung mit den htacces-Dingern sollte meiner Meinung nach dann der Schutz ok sein.

Gibt es sonst noch eine Möglichkeit?

2nd
 
Nur ein Idee. Was passiert wenn du die Files direkt über das script ausgiebst. also
Code:
header('Content-type: richtiger Typ...) 
readfile(filmchen_hi.mpg)

Sofern das überhaupt geht und nicht den Server beeinträchtigt wenn die files etwas größer werden.

Um fremdverlinkung zu vermeiden könntest du noch ein Cookie davorsetzen, welches zuvor auf einer deiner Seiten generiert wurde.

Irgendwie eine etwas wilde Methde, aber vielleicht funktionierts...

lg, joedelord

edit: ich verwende das um Statistiken mit einer Chart lib zu erzeugen und anzuzeigen. Diese Bilder werden dann mit <img src="chart1.stat.php"> eingebunden. (Das ist aber alles auch noch untested)
 
Zurück
Oben Unten