1
我正在处理一个应用程序(LAMP),用户可以将文件上载到服务器,但无法与其他用户共享文件。所以,我的问题是落实,确保用户A不能访问由用户B.上传文件的安全机制如何在PHP中实现有限的文件访问?
我的做法是这样的:
- 每个用户都有其文件的文件夹(/上传/用户A)
- 添加.htaccess文件的所有访问/上传文件夹重定向到一个PHP脚本
- 检查用户是否有权访问的子目录(/用户A)
可以看到这种方法有什么缺点?任何更好的选择?
我能想到的一个缺点是'.htaccess'文件比较慢,而且对服务器征税 - 在服务器配置文件中设置会更好。 – Nightfirecat
而不是强制引用文件,你可以做一些类似'download.php?id = 1234'的东西,并从数据库中检查'1234'用户是否有权限下载文件并且不显示用户的物理路径所有。 –
我会第二@Ahmet,并补充说,以“安全”的方式保存文件的一个好习惯是将它们存储在您的域之外(但仍然在您的服务器上)。然后使用download.php?id-1234来调用该文件。 – GiladG