Ik zit nu met een probleem waar ik geen raad mee weet.
Het is het volgende:
In een directory op mijn webhost staan MP3's die nu zijn beveiligd zijn tegen downloaden dmv een htaccess file waarin referers nagekeken worden.
Hier geen probleem, downloaders van mijn site krijgen de files, offsite linkers niet.
Het probleem is nu dat windows Media player alle links met een .mp3 extentie direct geopend met de player zelf.
Mime type voor MP3's staat op "application/octet-stream mp3" om een download te forceren.
De player zelf geeft geen referers mee maar wel een User_Agent:
"Windows-Media-Player(hier versienummer vanaf 7.0 tot 9.0).
Dus mijn referer check doet het hier dus niet meer.
Nu dacht ik dus een rule te maken om deze User_Agent wel toe te laten.
Helaas weigerd WMP om de files te openen.
Ik heb wat andere code achterwege gelaten, deze code heb ik ook uit de htaccess file gelaten tijdens testen.
WM9 geeft foutmeldingen van "Kan geen verbinding maken met de server. De servernaam is mogelijk onjuist of de server is bezet."
Meer info krijg ik niet uit de player
Andere players als winamp geven de HTTP/1.1 403 Forbidden error, denk dus WMP ook.
# HTTP/1.1" 302 309 "-" "Windows-Media-Player/9.00.00.3075"
# HTTP/1.1" 302 309 "-" "NSPlayer/9.0.0.2980 WMFSDK/9.0"
Dit zijn de User-Agent variablen die ik dus wel wil toestaan.
Is de code hierboven nu goed of ligt het toch ergens anders aan?
---------------------------------------
Toch na veel proberen en lezen voor elkaar gekregen.
Het is het volgende:
In een directory op mijn webhost staan MP3's die nu zijn beveiligd zijn tegen downloaden dmv een htaccess file waarin referers nagekeken worden.
Hier geen probleem, downloaders van mijn site krijgen de files, offsite linkers niet.
Het probleem is nu dat windows Media player alle links met een .mp3 extentie direct geopend met de player zelf.
Mime type voor MP3's staat op "application/octet-stream mp3" om een download te forceren.
De player zelf geeft geen referers mee maar wel een User_Agent:
"Windows-Media-Player(hier versienummer vanaf 7.0 tot 9.0).
Dus mijn referer check doet het hier dus niet meer.
Nu dacht ik dus een rule te maken om deze User_Agent wel toe te laten.
Helaas weigerd WMP om de files te openen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| AuthUserFile /dev/null AuthGroupFile /dev/null SetEnvIfNoCase User-Agent ^Windows-Media-Player.*$ MP3 SetEnvIfNoCase User-Agent ^NSPlayer.*$ MP3 SetEnvIfNoCase Referer ^http://(www\.)?domein1/.*$ MP3 SetEnvIfNoCase Referer ^http://(www\.)?domein2/.*$ MP3 <FilesMatch .mp3> Order Deny,Allow Deny from all Allow from env=MP3 </FilesMatch> |
Ik heb wat andere code achterwege gelaten, deze code heb ik ook uit de htaccess file gelaten tijdens testen.
WM9 geeft foutmeldingen van "Kan geen verbinding maken met de server. De servernaam is mogelijk onjuist of de server is bezet."
Meer info krijg ik niet uit de player
Andere players als winamp geven de HTTP/1.1 403 Forbidden error, denk dus WMP ook.
# HTTP/1.1" 302 309 "-" "Windows-Media-Player/9.00.00.3075"
# HTTP/1.1" 302 309 "-" "NSPlayer/9.0.0.2980 WMFSDK/9.0"
Dit zijn de User-Agent variablen die ik dus wel wil toestaan.
Is de code hierboven nu goed of ligt het toch ergens anders aan?
---------------------------------------
Toch na veel proberen en lezen voor elkaar gekregen.
code:
1
2
3
4
5
6
7
8
9
| RewriteEngine On
Options +SymlinksIfOwnerMatch
RewriteBase /
RewriteCond %{HTTP_User_Agent} !^Windows-Media-Player.*$ [NC]
RewriteCond %{HTTP_User_Agent} !^NSPlayer.*$ [NC]
RewriteRule \.(mp3|ogg)$ - [C]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domein1.nl/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domein2.com/.*$ [NC]
RewriteRule \.(mp3|ogg)$ Cheater.html [R,L] |
[ Voor 35% gewijzigd door ^Ripper op 12-03-2004 22:17 ]