apache中对非站点目录的访问限制
apache设置中有一段
Alias /test "/var/www/web2/test"
Options FollowSymLinks Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
如果此时 /var/www/web2/test 目录中有一个php下载的页面
down.php大概是这样:
$filename=$_GET["file"];<br /> <br />ob_end_clean();<br />header("Expires: 0");<br />if(!$file = @fopen($filename,'r')){<br /> echo 'read error';<br /> exit();<br />}<br /> <br />flock($file,LOCK_SH);<br />$filesize=filesize($filename);<br /> <br />Header("Content-type: application/octet-stream");<br />Header("Accept-Ranges: bytes");<br />Header("Accept-Length: ".$filesize);<br />Header("Content-Disposition: attachment; filename=" . $file_name);<br />if($filesize>0)<br />{<br /> echo fread($file,$filesize);<br />}<br />fclose($file);<br />ob_get_contents();<br />ob_end_clean();<br />exit;