我经常开发处理不同媒体文件的网络应用程序(mp3,图像文件,PDF格式等)。
其中一些文件对网站访问者来说是私有的,有些是可读的。
到目前为止,我总是像这样构建它:
/var/www/myapp/uploads/private/other_files_and_folders
/var/www/myapp/uploads/public/other_files_and_folders
然后我会使用服务器配置保护private /文件夹(只有识别的用户可以访问该文件夹),并且public /将对所有人都可读。
我只是想知道这种方法是否合适,或者是否有更好的方法。
我担心的是,为了保持一致性并易于管理,我的私人和公共文件夹中的文件夹结构是相同的。这样我就可以在我的数据库中存储相对路径,并将文件从公共文件移动到私有,而无需重命名数据库中的文件路径。 因此,访问者可以查看我的私人/文件夹结构的一部分,因为它与公共/一个类似。
您对此有何看法?
答案 0 :(得分:1)
我不确定我是否理解你的问题,但是在两个目录中都有相同的结构并且需要轻松管理其中的文件,我会将所有文件放在同一目录中,拒绝访问它们在服务器外部,并使用服务器脚本管理从外部下载的文件权限(公共或私有)。因此,通过该服务器脚本,我们可以下载文件,如果我们被识别,可能是通过要求脚本将该文件复制到它的777的临时目录,或者可能是我们可以让脚本向我们发送直接归档,就像使用html一样。