电子学习平台:课程的讲师将在为课程创建课程的同时上传视频。防止直接访问课程视频|电子学习
图
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的缓存
当客户端打开你的页面时,他的PC IP将不会与服务器IP相同,所以他肯定无法看到它。 –
@AmitRay我甚至尝试拒绝所有和删除服务器的IP部分,仍然无法正常工作 – yusufshakeel
请看Nikhil Pradeep的答案。它可能会帮助你。另请注意,如果允许某人查看视频,则停止下载视频非常困难。 –