Sha*_*ron 7 php security file-upload download
我正在开发一个允许注册用户(可能是任何人)上传文件的系统.我阻止mime类型等尝试将文件限制为.doc,.docx和.pdf类型,但为了额外的安全性,它们被上传到webroot之外的文件夹.
然后,其他用户可以选择下载文件.我如何允许他们这样做?显然,我不能只是放入文件的链接,因为它在webroot之外.我不知道如何到达该文件!我认为我可以使用php文件函数来访问该文件,但是如何将其"提供"给请求它的用户呢?
这可能会带来什么安全隐患?
谢谢.
Pab*_*ruz 10
您需要一个执行以下操作的PHP脚本:
你也可以使用readfile函数做基本相同的事情.这是PHP网站的一个例子:
<?php
$file = 'monkey.gif';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12795 次 |
| 最近记录: |