我的php项目中有文件上传系统。
我在上传时做了什么:
1)检查文件扩展名和文件mime类型。
2)如果扩展名和mime类型是允许的类型,我将文件保存在public_html
目录之外,然后,我给用户机会,下载文件,所以:
if (file_exists($file_path)) {
header('Content-Description: File Transfer');
header('Content-Type: some mime type');
header('Content-Disposition: attachment; filename=somefilename');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
readfile($file_path);
}
问题:上传文件的步骤是否安全?如果没有,可以增加什么,以提高上传文件的安全性?
感谢。
答案 0 :(得分:2)
另请尝试阅读this article,它会为您提供一些您可能以前不会遇到的有用信息。