Toon posts:

[IIS] Streaming media beveiligen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers!

Na veel zoeken en info over DRM, Hotlink Protection en directory-protection gelezen te hebben B) , is mij nog steeds niet duidelijk hoe ik (Windows) Media audio/video files kan beveiligen op de manier zoals ik zou willen.

De situatie:
Op diverse websites (oa. blaat.nl en woei.com) van de platenmaatschappij waar ik werk, bieden we Windows Media files aan van 30sec. per stuk voor audio (wma) en videoclips van 3 minuten (wmv). Deze files staan gehost bij een Windows Streaming Media-hosting partij, die voor het gegenereerde dataverkeer uiteraard kosten berekent.

Om te voorkomen dat iedere hobbieist de linkjes van de Streaming Media bestanden overneemt op z'n site, waardoor er dus overmatig (en onbedoeld) dataverkeer gegenereerd wordt (en de kosten dus explosief toenemen), willen we de bestanden alleen 'toegankelijk' maken voor mensen die de link via de bijbehorende site(s) openen.

Concreet gezien betekent dit dat de links, dan wel de streaming media bestanden, een soort hotlink protection o.i.d. krijgen. DRM is (denk ik) geen optie, gezien de kosten voor een DRM-licentie en de eigenlijke bedoeling van DRM om mensen te laten betalen voor de wma/wmv-streams.

De vraag:
Weet iemand hoe ik bovenstaande moet aanpakken? Ik heb redelijke ervaring in Streaming Media, als in distributie, encodering en embedding, maar van beveiliging heb ik weinig kaas gegeten...

Is het bijvoorbeeld mogelijk om middels wmx / asf bestanden een 'protection' aan te brengen, waarbij gechecked wordt of de files via (misschien ook wel met HTTP_REFERRER) de bijbehorende sites worden 'bekeken/beluisterd'?

De Streaming Server is een dedicated Windows Server Media Server met IIS, wellicht dat via die server ook een 'hotlink protection' kan worden aangebracht?

Wie heeft hier ervaring in en wil z'n kennis delen? Dank alvast.

Gr,
Mathijs / Cyppher
GoT is een forum, e-mailadres hier neer zetten is niet nodig.

[ Voor 7% gewijzigd door sanfranjake op 01-09-2005 14:11 . Reden: referrer ipv refferer ]


  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Ik weet niet of je er wat aan hebt, maar je zou richting anti-leech kunnen denken, bijvoorbeeld door de file niet rechtreeks aan te roepen, maar een asp pagina oid, met daarbij een id. Die asp pagina controleert waar je vandaan komt (inderdaad referrer), en als dat juist is, opent hij de media file en geeft die aan je door als een filestream.

Verwijderd

referrer is wat je zoekt idd, alleen geen idee hoe je dan "links" blokkert.

[ Voor 10% gewijzigd door Verwijderd op 01-09-2005 13:32 ]


  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Nou middels die asp..

Je krijgt dan www.mijnwebsite.com/download.asp?id=4
In die asp controleer je dan je referrer.. is die juist, dan open je een stream naar video.avi, wat dan matcht met id 4.

Ik kan je helaas met de asp code niet veel verder helpen, want ik gebruik normaal php

Verwijderd

Topicstarter
Als ik via een ASP of PHP (voorkeur: php, op een andere server) pagina de herkomst van een bezoeker check en dan de link in een (embedded) media player open, blijft het jammer genoeg wel mogelijk om (via eigenschappen in de media player) de source van het mediabestand te bekijken. Op die manier kan nog steeds iemand de link (bijv: mms://stream.aanbieder.nl/account/map/deze_file_high.wmv ) op z'n site plakken...

Of is dit een onoverkoombaar fenomeen?

[ Voor 8% gewijzigd door Verwijderd op 01-09-2005 13:39 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Verwijderd schreef op donderdag 01 september 2005 @ 13:37:
Als ik via een ASP of PHP (voorkeur: php, op een andere server) pagina de herkomst van een bezoeker check en dan de link in een (embedded) media player open, blijft het jammer genoeg wel mogelijk om (via eigenschappen in de media player) de source van het mediabestand te bekijken. Op die manier kan nog steeds iemand de link (bijv: mms://stream.aanbieder.nl/account/map/deze_file_high.wmv ) op z'n site plakken...

Of is dit een onoverkoombaar fenomeen?
Je kan ook de content VIA PHP versturen. Bij afbeeldingen kan dit met de functie http://nl3.php.net/manual/en/function.fpassthru.php

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Verwijderd schreef op donderdag 01 september 2005 @ 13:37:
Als ik via een ASP of PHP (voorkeur: php, op een andere server) pagina de herkomst van een bezoeker check en dan de link in een (embedded) media player open, blijft het jammer genoeg wel mogelijk om (via eigenschappen in de media player) de source van het mediabestand te bekijken. Op die manier kan nog steeds iemand de link (bijv: mms://stream.aanbieder.nl/account/map/deze_file_high.wmv ) op z'n site plakken...

Of is dit een onoverkoombaar fenomeen?
Wat ik zeg.. open een stream naar die file middels een id oid (misschien databaseje erachter). Sta ik hier tegen een muur te lullen ? Als je dan namelijk headers meestuurt die je browser vertelt dat het een wmv file is.. en je gebruikt passthru om de inhoud van die media file naar je client te sturen, dan kun je de filename nooit achterhalen

Verwijderd

Topicstarter
Sta ik hier tegen een muur te lullen ? Als je dan namelijk headers meestuurt die je browser vertelt dat het een wmv file is.. en je gebruikt passthru om de inhoud van die media file naar je client te sturen, dan kun je de filename nooit achterhalen
Nee je staat niet tegen een muur te lullen, maar je plaatste tegelijkertijd met mij een bericht...

Ik zal deze opties even goed bestuderen, dank alvast voor de suggesties!

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Nee, maar ik zei in mijn eerste post al precies hetzelfde.. maak er een pagina tussen, met een referrer-check en een stream en je bent klaar.

edit: voor php kan ik je met code wel verder helpen.. asp ben ik niet zo bekend mee, maar moet precies hetzelfde kunnen:

code:
1
2
3
4
header("Content-Disposition: filename=movie.mwv");
header("Content-type: movie/mwv); // dit slaat nergens op, mimetype ff opzoeken dus.
$fp = fopen("\home\movie.mwv", 'r');
fpassthru($fp);


voila

[ Voor 56% gewijzigd door Mephix op 01-09-2005 13:55 ]


  • PcDealer
  • Registratie: Maart 2000
  • Laatst online: 21-08 07:21

PcDealer

HP ftw \o/

Verwijderd schreef op donderdag 01 september 2005 @ 13:22:
[...]
Deze files staan gehost bij een Windows Streaming Media-hosting partij, [...]
[...]
Is dat niet meteen de partij die het antwoord op je vraag weet? Je kunt i.e.g. de files alleen laten benaderen vanaf jullie webserver met IP x. Dan kunnen ze niet hotlinken (toch?). Dus met een vorm van referrers.

LinkedIn WoT Cash Converter


  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
PcDealer schreef op donderdag 01 september 2005 @ 13:54:
[...]
Is dat niet meteen de partij die het antwoord op je vraag weet? Je kunt i.e.g. de files alleen laten benaderen vanaf jullie webserver met IP x. Dan kunnen ze niet hotlinken (toch?). Dus met een vorm van referrers.
Als je op een link klikt.. van welke ip komt dan je http request ? Van jouw ip adres of van het ip adres waar de site op staat met die link waar jij op klikt ? Dit kan dus nooit.. dan zou alleen iemand die op die server achter de console zit in staat zijn die link te klikken...

Verwijderd

Topicstarter
Mephix schreef op donderdag 01 september 2005 @ 13:50:
Nee, maar ik zei in mijn eerste post al precies hetzelfde.. maak er een pagina tussen, met een referrer-check en een stream en je bent klaar.
Dank je!
Heb ik toch nog een (bijdehand) vraagje: Als ik het goed begrijp is de link dus nu niet te achterhalen. Is het dan ook zo dat als je de 'eigenschappen' opent in de (embedded) Windows Media Speler, je de 'bron' ziet als de link met een url....php?id=3, of krijg je dan alsnog de naam & locatie van het mediabestand dat de mediaplayer op dat moment streamt?
Sorry voor deze vraag, maar dat is me niet geheel duidelijk...

  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Streaming Media en IIS is toch meer optionele software, daarom verplaats ik het topic even:

Windows Operating Systems > Software Algemeen :)

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Nee, dat is juist het mooie ervan.. als je de bron opvraagt zie je dus inderdaad movie.asp?id=4 of whatever.

De originele file kun je zo nooit meer achterhalen.

Ik heb bijvoorbeeld een community site geschreven in php.. daar hebben mensen hun eigen persoonlijke fileupload. maarja, een id is makkelijk te raden, dus ik plak er nog een hash achteraan. Wat die viewfile.php doet is inloggen in de database.. kijken welke file id 16 is, de hashcode controleren.. die file openen met een filestream en deze met fpassthru teruggeven aan de client.

http://friends.mephix.com...php?id=16&hash=8dIyMyrxmb

[ Voor 4% gewijzigd door Mephix op 01-09-2005 14:23 ]


Verwijderd

Topicstarter
De originele file kun je zo nooit meer achterhalen.
Ok geweldig! Dit is inderdaad de oplossing waar ik naar zocht, dank daarvoor.
Maar hoe verwerk je die Hash in de query? Als er geen Hash wordt meegestuurd, gebeurt er niets. (output van jouw viewfile.php is dan een 'lege' html-page).

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

djluc schreef op donderdag 01 september 2005 @ 13:40:
[...]

Je kan ook de content VIA PHP versturen. Bij afbeeldingen kan dit met de functie http://nl3.php.net/manual/en/function.fpassthru.php
Kan je beter niet doen, waar heb je dan een streaming server voor ;)

  • Mephix
  • Registratie: Augustus 2001
  • Laatst online: 25-11-2025
Verwijderd schreef op donderdag 01 september 2005 @ 14:29:
[...]

Ok geweldig! Dit is inderdaad de oplossing waar ik naar zocht, dank daarvoor.
Maar hoe verwerk je die Hash in de query? Als er geen Hash wordt meegestuurd, gebeurt er niets. (output van jouw viewfile.php is dan een 'lege' html-page).
Ik heb die hash enkel toegevoegd, omdat dat in mijn situatie noodzakelijk was. Als ik inlog onder mijn naam en ik upload een file, wordt dat fileid = 6 bijvoorbeeld. Iemand anders logt in onder zijn naam en upload een file.. dan wordt dat fileid = 7. Als ik dus een file upload en het wordt fileid=8, dan weet ik dat fileid 7 blijkbaar van iemand anders is. Zo kan ik dus makkelijk files van anderen openen, door fileid's te proberen. Om dat tegen te gaan, voeg ik een extra hash toe. Zonder die hash is het openen van die file dus niet mogelijk en kan ik dus niet zomaar fileid=7 openen.

Jij hebt die hash volgens mij niet nodig, omdat iedereen alle bestanden moet kunnen openen.

Verwijderd

Topicstarter
Mephix schreef op donderdag 01 september 2005 @ 13:50:

edit: voor php kan ik je met code wel verder helpen.. asp ben ik niet zo bekend mee, maar moet precies hetzelfde kunnen:

code:
1
2
3
4
header("Content-Disposition: filename=movie.mwv");
header("Content-type: movie/mwv); // dit slaat nergens op, mimetype ff opzoeken dus.
$fp = fopen("\home\movie.mwv", 'r');
fpassthru($fp);
Ik heb inmiddels eea geprobeerd, maar het schijnt mij niet te lukken.
De volgende code gebruik ik om een .wma te streamen (nu nog lokaal, maar hij moet dus van de streaming media server komen):
code:
1
2
3
4
5
6
7
Header("Content-type: audio/x-ms-wma\n"); 
Header("Content-disposition: attachment; filename=nr1.wma\n"); 
Header("Content-transfer-encoding: binary\n"); 
//send file contents 
$fp = fopen("nr1.wma", 'r');
fpassthru($fp); 
exit();


De uitvoer hiervan is gewoon de code van het bestand, geen player oid...

Ik ben even kwijt hoe ik nu concreet gezien een fpasstrhu in een param name van een object (mediaplayer) moet zetten...
Weet jij hoe ik dit kan doen, waarbij de file nog steeds streaming is?

Dank alvast!

[ Voor 9% gewijzigd door Verwijderd op 02-09-2005 14:07 ]


Verwijderd

Topicstarter
Erkens schreef op donderdag 01 september 2005 @ 14:33:
[...]

Kan je beter niet doen, waar heb je dan een streaming server voor ;)
daar ben ik inmiddels ook achter, de uitvoer van 'fpassthru' is de gehele wma/wmv file, en ik weet ook niet hoe ik dit als parameter in een embedden windows media player kan plaatsen.
(als ik dat doe kan die de file niet vinden, logisch want het is ook geen file....)
:?

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Maar ik kan me niet voorstellen dat Microsoft's streaming server geen opties heeft om streams te beveiligen? Zelf heb ik nooit met deze server gewerkt, maar ik weet dat het met bijvoorbeeld "Helix Universal Server" wel kan. Niet een oplossing voor jouw situatie natuurlijk, maar vraag het anders even na bij de support afdeling van Microsoft :)
Pagina: 1