最近在弄文件资源管理,在下载时隐藏文件路径采用的方案仅仅是,对存放文件的目录用apache配置使之无法直接访问目录列表,rewrite技术可隐藏服务器的目录!
比如下载路径本来为:http://miresearch.cn/uploadfile/resource/2012-05/8f4f5a42-1b4c-8b80-0efc-9ff2346373bf.rar
如果不做出来,直接访问http://miresearch.cn/uploadfile/resource/2012-05这个可以查看服务器此目录下的所有文件,后来经过了apache配置使http://miresearch.cn/2012-05/8f4f5a42-1b4c-8b80-0efc-9ff2346373bf.rar可以实现下载文件以隐藏服务器目录,且http://miresearch.cn/2012-05此目录不能直接访问。
初学者对文件下载仅仅做了这么点工作,请各位高手看看,有什么好建议方案,给小弟指导下~有做过文件下载的安全性请过来看看,指引下哦~
------解决方案--------------------
帐号密码验证后直接输出文件...
例如
php codeheader('content-type: application/octet-stream');$filesize = filesize('s.png'); //获得文件大小header('last-modified: '.gmdate('d, d m y h:i:s') . ' gmt');header('cache-control: no-store, no-cache, must-revalidate');header('cache-control: pre-check=0, post-check=0, max-age=0');header('content-transfer-encoding: binary');header('content-encoding: none');header('content-type: application/force-download');header('content-length: '.$filesize);header('content-disposition: attachment; filename=s.png');readfile('s.png');