Nasıl bir flash player. Flv dosyasının url gizlemek mi?

4 Cevap php

Sadece karma (1 saat) yaşam süresi için hotlink böylece ben, benim sitelerde kullanabileceğiniz görüntülerin adresler gizlemek için süresi dolan adresler kullanabilirsiniz.

Ben onlar eşleşirse, komut aşağıdaki kodu çağırdığında, sunucu üzerinde bir karma karşı, dosya url ile gönderilen hash kontrol edin:

if (isset($_GET["hash"])) {
    	$this_min = date('Y-m-d-g',time()) . "salt" . $vid_id;
    	$current_hash =  substr(md5($this_min),0,12);
    	$submitted_hash = mysql_real_escape_string($_GET["hash"]);
    	if ("$current_hash" == "$submitted_hash") {
    		$file_url2 = "directory/" .  $vid_file;
    		header('Content-Type: application/octet-stream');
    		header("Content-Transfer-Encoding: Binary"); 
    		header("Content-disposition: inline; filename=\"".md5($vid_file)."\""); 
    		readfile($file_url2);
    		exit;
    	} else {
    		$_SESSION["message"] = "Download link expired, refresh the page and try again";
    		$_SESSION["message_type"] = 0;
    		header("Location:" . $_SERVER['HTTP_REFERER']);
    		exit;		
    	}
    }

Ben bir etiketi kullanmak (örneğin, <img src="index.php?id=123&hash=ew6rg5reg4"> ve mükemmel çalışıyor. Görüntü hotlink ise, zaman karma değişiklikleri, her saat (ya da dakika gerekirse). Yazık ki, bu aynı çalışmayı durdurur yöntem Böyle JW oyuncu olarak bir flash oynatıcı, içine. flv dosyaları yüklemek için kullandığınız zaman çalışmaz.. flv dosya yüklenir yok. değil

Herhangi bir şekilde ben bunu düzeltmek ya da alternatif bir yöntem ile aynı şeyi elde edebilirsiniz?

4 Cevap

Gerçekten çok etkili bir indirme URL saklayamam. Safari, örneğin, Etkinlik pencere üzerinden indirilen tüm kaynakları ortaya koyar. Sadece boyutu MB öğe için bakmak ve bu FLV dosya.

Lütfen FLVs müthiş insanları tutmak için tek yolu, tam dosyaya erişmek asla RTMP streaming, kullanmaktır.

Eğer htaccess fils ile etki alanı dışındaki yönlendirmeleri durdurabilirsiniz (apache server sadece)

RewriteEngine On
Options +FollowSymLinks
        <ifmodule mod_rewrite.c>
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
    RewriteRule \.(gif|jpg|png|mp3|mpg|avi|mov|flv)$ - [F]  
    </ifmodule>

Oyuncu komut dosyası atar ne zamanı hatası bilmek ilginç olurdu?

Bunu video/x-flv veya flv-application/octet-stream ayarlandığında MIME türü ile iş yapmak için daha fazla şansı olabilir.

Bu da, JW player vb ile iyi çalışması gerekir.

Bazı sunucular, örneğin nginx için, PHP bunu yapmak zorunda değilsiniz bu yüzden çok verimli bir doğrulama bu tür yapmak için modülleri var.