php bir oyuncu için bir akarsu flv olmaktan çıktı güvenliğini sağlamak için en iyi yolu?

2 Cevap php

Bir sayfada bir flv oynatıcı gömme bakıyor ama olmayan bir www ulaşılabilir bir konuma flv dosyasını okumak isterdim. Ben readfile kullanarak sayfa çıktı içeriğini sonra, şifresini, şifreli bir sorgu dizesi alır bir denetleyicisi eylem yazmak için çalıştı () ama hiçbir şey olmuyor.

Onun becuase readfile işlevi flv dosya boyutları (40 MB +) boğulma olduğu yanlış içerik türünü gönderme veya eğer ben emin değilim.

I'm using something like the following

Yukarıdaki sayfaya goint bana, flv cezasını indirmek sadece oyuncu akışa değil sağlar. şimdiden teşekkürler!

2 Cevap

Bu yazdığım birkaç apps mükemmel flv ve mp3 dosyaları akarsuları:

$mime = ''; // place appropriate mimetype here
$file = 'somefile.flv'; // place your filename here

header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
header('Content-Type: '.$mime);
header("Content-Disposition: attachment; filename='$file'");
header("Content-Length: " . filesize($file));
readfile ($path);
  1. Don't use PHP for streaming, PHP has it's time execution and memory limits (configured at php.ini). 1.1. Don't use PHP for providing static content, it's heavy and basically will kill apache performance.
  2. PHP kullanıyorsunuz zaman da (noktadan noktaya atlamak için) seçeneğini aramak yazmak gerekir.
  3. Oldukça HTTP protokolü üzerinden flv streaming için Nginx / lighttpd.conf kullanmak veya RTMP protokolü üzerinden akışı flv Red5/Wowza kullanmak recommmended oluyor.

Benim tercih ettiği önerim mods ile Nginx kullanmaktır:

  • flv (flv streaming için).
  • Secure Links (hotlink dosyaları korumak ve her bağlantı için TTL ayarlamak için).
  • Limit rate after - bant genişliği kaydedin.

Güvenli bağlantıları ile IP tarafından belirli bir kullanıcı için bir bağlantı oluşturabilir ve bağlantı ölü ve kullanıcı tekrar içeriğe erişmek mümkün olmayacak bundan sonra, 60 saniye için bağlantı TTL ayarı yapabilirsiniz.