Je nach Login erlaube ich es Usern auf meiner Seite, bestimmte Dateien downzuloaden oder auch nicht. Diese URLs werden versteckt, der Download wird über PHP geleitet.
- Code: Select all
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Type: video/x-ms-wmv");
header("Content-Disposition: attachment; filename=$file");
header("Content-Length: $filesize");
$fd = fopen($path, 'r');
while(!feof($fd))
{
$buffer = fread($fd, 2048);
print $buffer;
}
fclose ($fd);
Nun ist mein Problem, dass wenn ein User durch dieses Script eine Datei herunterladet die z.B. 100 MB hat, er nebenbei auf der Seite nichts mehr machen kann. Er kann auf andere Domains oder Webmail auf diesem Server zugreifen, nicht jedoch auf die Domain wo der Download stattfindet.
Ich habe mich schon versucht durch die Apache-Config zu wühlen, habe es aber nicht geschafft eine Lösung zu finden, oder einen Punkt wo ich suchen muss, außer vielleicht
- Code: Select all
<IfModule mpm_prefork_module>
StartServers 2
MinSpareServers 10
MaxSpareServers 80
MaxClients 200
MaxRequestsPerChild 70
</IfModule>
Aber auch diese Werte müssten normalerweise reichen da der Download ja nicht so viele Requests benötigt.
Weiß denn jemand wie man das Problem mit dem parallelen Download löst bzw. ob mein Problem an Apache oder PHP liegt?
Danke schon mal im Voraus[/code]