2013-05-05 93 views
0

我有我自己的Flash視頻播放器,向我的服務器上的視頻文件發出請求。我使用谷歌瀏覽器,每次使用Inspect Element並轉到網絡選項卡時,我都會看到該請求。所以高級用戶也可以看到它並下載視頻。我該如何保護它?從瀏覽器隱藏Flash電影的請求

回答

1

首先,沒有辦法阻止用戶下載任何你放在你的網站上的東西。誰先進的足夠找到一種方法。然而,這是我在過去用來獲取Flash文件服務器端的技術:

index.php: 

<?php session_start(); ?> 
... HTML head stuff 
<?php $_SESSION['swf'] = $_SERVER['HTTP_HOST']; 
... HTML stuff 
<object classid="somestuff" style="height:720px;width:1280px;" id="pmv_september"> 
    <param name="movie" value="swf.php?v=1"> 
</object> 
... More HTML stuff 

我還沒有想出如何使IE前10此項工作,我敢肯定有一種方法,但我不知道它是什麼。所以,我在此之後要做的就是有一個數據庫,這樣我就可以通過「V」參數數據庫,並得到正確的視頻文件:此代碼是基於什麼我發現

swf.php 

<?php 

$videoId = $_GET['v']; 
if(!isset($_SESSION['swf']) { 
    die('Try harder'); 
} 

// Attempt to prevent caching 
unset($_SESSION['swf']); 
header('Cache-control: no-cache'); 
header('Content-type: application/x-shockwave-flash'); 

// Get the video 
$mysqli = new mysqli('localhost','username','password','database'); 
$stmt = $mysqli->prepare('SELECT url FROM videos WHERE id = ? LIMIT 1'); 
$stmt->bind_param('i',$videoid); 
$stmt->execute(); 
$stmt->bind_result($result); 
$stmt->fetch(); 

// Pass video to the client 
readfile($result); 

?> 

我依稀記得在線,所以如果有人知道原件的位置,請編輯此信息給他們。我有一個快速的環顧四周,找不到它,但由於這個網站在2008年首次實施,這並不一定令人驚訝。

這與url以外的WWW根一起工作,所以這是一種方法來保持所有的FLV難以找到的地方。

+0

這是一個非常好的方法!謝謝,我會試試:) – 2013-05-05 08:50:48