Gå til innhold

Tillate streaming, blokkere nedlasting


Anbefalte innlegg

Er det mulig med PHP eller .htaccess å blokkere direkte nedlasting av .mpg-filer, men tillate streaming?

 

Streaming-koden er jo:

<EMBED SRC="movie.mpg" border="0" type="application/x-mplayer2"></EMBED>

 

Da står jo filnavnet der og den kan lastes ned enkelt...

 

Er det mulig å hente den via PHP-buffer, eller hva det nå heter i stedet, slik at adressen er "skjult"?

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132

Tror det er mer eller mindre umulig. For å kunne lese streamen må du ha leserettigheter på filen, og da vil du uansett kunne laste den ned. Er det så farlig da? :hmm:

Lenke til kommentar

movie.php :

<?PHP
header('Content-type: video/mpeg');
readfile('/home/movdir/movie1.mpg');
?>

 

Så lar du /home/movdir værra ei mappe som php har tilgang til, men som ikke er tilgjengelig for allmennheten....

 

Når du skal bruke dette skriptet så bruker du denne koden der filmen skal vises:

<EMBED SRC="movie.php" border="0" type="application/x-mplayer2"></EMBED>

Lenke til kommentar

Kom på noe selv, men vet ikke om et er mulig/virker?

Man sjekker HTTP_REFERER i movie.php og om den inneholder gyldig url, for åpner man i WM får man ikke referer...

 

Ulempen er de som har software som ikke sender fra seg HTTP_REFERER da...

 

Kan vel også sjekke USER_AGENT?

 

Hva tror du/dere om det?

Lenke til kommentar

Løsningen ble slik:

Ved lasting av siden hvor filen skal streames genereres en MD5 av time() og et salt. Denne lagres i en tekstfil.

 

Den legges i movie.php?c=$crypt i <embed src>.

I movie.php leses tekstfilen og deretter sjekkes den mot $_GET['c'] og "readfile" av videoen hvis den matcher, deretter genererer den en ny md5 og overskriver den i filen...

 

Ulempe:

Ved mye trafikk og 2 stk laster en fil rette etter hverandre vil ikke $crypt stemme for den første brukeren.

 

Men, nå kom jeg jo selvfølgelig til å tenke på om det ikke er mulig å bruke sessions til dette?

Sette en session ved lasting av siden filen streames på og sjekke den i movie.php og deretter ta session_destroy igjen.

Vil ikke det fungere på samme måte, bare uten ulempen nevnt over?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...