【发布时间】:2009-09-16 13:50:26
【问题描述】:
我正在开发一个购物系统,其中 shopmanager 应该能够将文件上传到系统。这些文件可以收费出售,并且只能通过提供购买代码才能访问。
整个购买代码和上传工作正常。只需阻止对文件的直接访问即可。
问题:
- 如何允许用户在 webroot 之外上传,但不能从那里读取/下载?
- 或者我如何允许用户上传到目录但没有人可以读取/下载?
我正在运行 Apache 并使用这样的代码通过表单上传文件:
public function upload_file($file='',$post_value='',$path) {
if ($_FILES[$post_value]) {
$uploadext = strtolower(strrchr($_FILES[$post_value]['name'],"."));
if($uploadext=='.jpg' || $uploadext=='.gif' || $uploadext=='.png' || $uploadext=='.swf' || $uploadext=='.jpeg' || $uploadext=='.pdf' || $uploadext=='.doc' || $uploadext=='.xls' || $uploadext=='.docx') {
$destination = $path.$file.$uploadext;
move_uploaded_file($_FILES[$post_value]['tmp_name'], $destination);
} else {
echo PICTURE_ERROR;
}
}
return $file.$uploadext;
}
【问题讨论】:
标签: php forms file-upload