2016-06-24 29 views
1

電子學習平臺:課程的講師將在爲課程創建課程的同時上傳視頻。防止直接訪問課程視頻|電子學習

   create   has   consists of 
instructor ---------> course ------> lesson --------------> video 

當GET請求的教訓做出的過程C1由學生L1,服務器將進行迴應以下JSON響應(如果學生已登錄並簽署開的過程中)

{ 
    "success" : [ 
     { 
      "courseid" : "c1", 
      "lessonid" : "l1", 
      "title" : "Sample lesson #1", 
      "video" : "http://www.example.com/lesson/l1/video.mp4", 
      "videothumbnail" : "http://www.example.com/lesson/l1/videothumbnail.png" 
     } 
    ] 
} 

要求

使課程視頻只能從 http://www.example.com/course?courseid=c1&lessonid=l1 當學生登錄並註冊課程時的頁面。

我做了什麼

我已經寫了下面的行的.htaccess文件我已經放在教訓文件夾內防止課視頻的直接訪問。

#prevent direct access to the lesson folder and its contents 
order deny,allow 
deny from all 
allow from XXX.XXX.XXX.XXX 

其中,XXX.XXX.XXX.XXX是服務器的IP地址。

我甚至試過如下:

#prevent direct access to the lesson folder and its contents 
deny from all 

現在,如果視頻鏈接在瀏覽器中複製粘貼顯示以下錯誤消息。

Forbidden 

You don't have permission to access /lesson/l1/video.mp4 on this server. 

所以,它成功地阻止視頻的直接訪問時,我複製粘貼到瀏覽器中的視頻鏈接http://www.example.com/lesson/l1/video.mp4

問題

但是,當我嘗試訪問從視頻課程頁面http://www.example.com/course?courseid=c1&lessonid=l1我在瀏覽器控制檯中收到以下錯誤消息。

Failed to load resource: the server responded with a status of 403 (Forbidden) 

請建議一種方法,使課程視頻只能從課程頁面訪問。

後端PHP中

  • API

  • MySQL數據庫

  • Redis的緩存

+0

當客戶端打開你的頁面時,他的PC IP將不會與服務器IP相同,所以他肯定無法看到它。 –

+0

@AmitRay我甚至嘗試拒絕所有和刪除服務器的IP部分,仍然無法正常工作 – yusufshakeel

+0

請看Nikhil Pradeep的答案。它可能會幫助你。另請注意,如果允許某人查看視頻,則停止下載視頻非常困難。 –

回答

1

你可以只移動包括文件夾出網絡的根。如果你想阻止整個直接訪問包括文件夾,然後你就可以把一個.htaccess文件僅包含該文件夾中:

deny from all 

這樣你就無法從文件夾中打開的任何文件,你可以將它們包括在PHP沒有任何問題。