0

我正在建立一个小型网站,允许用户从服务器上传和下载他们的个人文件。Codeigniter 正在用于该项目,并且我正在使用文件上传类来上传文件。

出现的问题是我如何确保只有上传文件的人才能下载它。目前所有文件都上传到localhost/curious/uploads. 尽管文件仅对上传者可见,但如果他们共享上传链接,任何人都可以下载文件。

因此,如果史蒂夫上传了一个名为secure_rom.doc并且路径是localhost/curious/uploads/secure_rom.doc该文件的文件,那么任何拥有该链接的人都可以下载该文件。

怎么可能确保只有上传者可以从下载区域下载而不是其他任何人?

4

2 回答 2

0

简单的方法

-just store the 'id' of the user when he/she uploaded something.
- hide the URL if 'user_id' is different.
- adding random character will have in securing.
于 2013-04-21T00:51:14.450 回答
0

您可以使用下载脚本(尝试使用 codeigniter 进行调整)

1)检查用户是否登录

2)用文件名和内容类型设置标题

3)读取文件并将其发送给客户端!

控制器 :

if($userConnected) {
 header('Content-disposition: attachment; filename=' . $file_name);
 header('Content-type: ' . $file_mime);
 $file_content = file_get_contents($file_location);
 echo $file_content;
}
else 
 echo 'No permission !';

哑剧内容功能

于 2013-04-20T14:33:11.063 回答