我正在使用 PHP 和 MySQL 数据库创建会员网站,我可以让用户使用他们的用户名和密码登录。所有非常标准的东西。
我什至建立了允许注册用户下载示例视频文件的系统。这也很好用。
然而,问题是任何能够弄清楚文件系统的人都可以直接下载这些文件。
假设我们有一个包含名为“videos”的视频内容的主文件夹,在“videos”中我们有诸如“planes”、“trains”和“automobiles”之类的子文件夹,每个文件夹中有单独的文件夹(例如“jets” '、'prop' 和 'spy' for 'planes')以及每个子类别的特定视频。
因此,如果有人知道文件系统,https://www.myvideosite.com/videos/planes/jets/f15.wmv
只要他们知道文件名,他们就可以简单地键入并下载到他们心中的内容。(如您所见,我有一个安全连接,它位于运行 Linux 的 Apache 服务器上。)
这是一个主要的安全漏洞,我想在它被发现之前堵住它。我研究了 .htaccess 的东西,但我的努力经常导致整个“视频”文件夹无法访问(我承认,我对这一切都是新手!)。
我还阅读了有关将我的视频文件放在站点根文件夹之外的内容,但这看起来更加令人困惑。
简而言之,我到底如何才能禁止非会员但可能(通过任何方式)发现文件系统是什么的人下载?在我看来,这应该很简单,但可惜我没有找到可靠的答案。