2010-03-04 37 views
1

我有关于阻止下载和保存上传文件的问题。将上传的文件转换为无法下载的特定文件格式

我的用户可以上传多个文件类型,如DOC,PDF,PPT等....

此,如果任何一个有网址所有文件类型轻松下载。

那么有什么更好的方法来防止文件的下载。

或者我上传的文件转换为不能方便地下载一些特定的格式(例如闪存)..

我PHP和MySQL运行。

感谢
阿维纳什

+1

考虑会发生什么,如果我上传的PHP文件 – Cheekysoft 2010-03-04 09:56:41

回答

2

您在这方面有两种选择。首先是通过PHP脚本将文件移动到服务器Web目录之外的服务器端文件夹。第二种是将文件存储在MySQL表中的BLOB列中。两者都将阻止用户直接访问文件,而无需将文件转换为不易下载的格式。

1

上传文件根目录之外的文件。例如:

/var/username/uploads/file.docx 

在您的文档根目录为

/var/username/public_html/index.php 

因此他们不能直接访问。然后,如果你想允许下载,创建一个名为“的download.php”一个PHP文件类似的东西:

$data = file_get_contents('/var/username/uploads/file.docx'); 
header('Content-Type: application/docx'); 
header('Content-Length: '.strlen($data)); 
header('X-Content-Type-Options: nosniff'); 
echo $data; 

,显然你可以添加检查,以查看用户是否具有适当的权限下载此特定文件或已登录。

相关问题