[APACHE]Anti leech van WMV's

Pagina: 1
Acties:

  • RadioheadRules
  • Registratie: November 2003
  • Laatst online: 12-03-2009
Ik zit met het volgende:
Ik heb een map in Apache vol met WMV's welke een derde partij bekijkt met behulp van Embedded Windows Media Player op hun site. Nu is het de bedoeling dat alleen mensen vanaf die site de WMV's kunnen bekijken om leechen tegen te gaan.

Nu heb ik hier eea gevonden, namelijk MOD_REWRITE om daarmee de referer te checken.
code:
1
2
3
4
5
Options +FollowSymlinks
rewriteEngine On
rewriteCond %{HTTP_REFERER} !^http://(www\.)?domein\.nl [NC]
rewriteCond %{HTTP_REFERER} !^http://123.456.789.012\. [NC]
rewriteRule \.(wmv)$ /blaat.htm [NC]


Dit werkt helaas niet goed, omdat een Embedded Media Player geen referer meegeeft. Ik heb helaas geen andere mogelijkheid kunnen vinden, alle voorbeelden zijn aan de hand van plaatjes en geen media streaming.

Kan iemand me op weg helpen?

Verwijderd

Als je php gebruikt kun je werken met een sessie. De pagina waar je WMV'tje wordt ingebed zet een sleutel in $_SESSION. De WMV stream je niet rechtstreeks, maar via php. Php streamt alleen als de sleutel in $_SESSION bestaat.

pagina.php
PHP:
1
2
3
4
    session_start();
    $_SESSION['viaPagina'] = true;
    
    echo "<!DOCTYPE html><title>Kekke WMV</title><h1>Kekke WMV</h1><!-- HTML-code om je WMV'tje te inbedden met wmv.php als referentie -->";


mwv.php
PHP:
1
2
3
4
5
6
    session_start();

    if (isset($_SESSION['viaPagina']))
        // Code om je WMV'tje te streamen
    else
        die("Dikke lul.");

  • RadioheadRules
  • Registratie: November 2003
  • Laatst online: 12-03-2009
Hier heb ik ook al aan gedacht, maar de site waar de Media Player staat is een andere site. Het is dan toch niet mogelijk om een SESSION uit te lezen van een andere site/domein?

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Ik vind dit wat meer met programmeren te maken hebben dan puur met Non-Windows Operating Systems. Dus ik verplaats je topic even naar Programming :)

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Bottom line: het kan gewoon niet. De embedded mediaplayer draaid gewoon op de PC van de eindgebruiker. Dus als hij bij de embedded player kan, kan hij ook direct bij de wmv (die de player op zijn eigen PC namelijk binnenhaalt).

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Blackbird-ce
  • Registratie: September 2005
  • Laatst online: 06-10 23:35
uhm... en waarom zou dat niet kunnen (afgezien van het feit dat ik geen Apache-oplossing zie hier)? Het gaat er niet om dat er een standalone player wordt gebruikt in plaats van de embedded player, maar dat een boosaardig figuur simpelweg naar zijn filmpjes linkt. Er moet dus kunnen worden aangetoond dat de gebruiker via de website van de TS komt, en niet via een andere website of het linkje via een andere weg (MSN oid) krijgt opgestuurd.

Een PHP script kan, zoals hierboven al gezegd, de WMV streamen wanneer er aan een aantal voorwaarden is voldaan, of iets compleet anders doen wanneer dat niet zo is.

Als er geen gebruik kan worden gemaakt van een sessie, maak dan gebruik van een timestamp (deed ik in het verleden voor al mn images/screenshots die nogal vaak gehotlinked werden): zorg ervoor dat je bij het genereren van je pagina een timestamp wordt gegenereerd die je meegeeft in de link naar je PHP-stream-script. Check in het PHP script vervolgens of now() - timestamp < vastgestelde waarde EN dat now() > timestamp.

Natuurlijk kan de boosaardige leecher óók een auto-generated timestamp inbouwen in zijn linkjes, maar gooi er dan wat extra beveiliging tegenaan: encrypt de timestamp :)

[ Voor 2% gewijzigd door Blackbird-ce op 04-04-2007 15:04 . Reden: ok, met enkel Apache zie ik ook geen directe oplossing... ]

Pagina: 1