Thorsten S.: Download-Skript mit Apache-Weiterleitung

Beitrag lesen

Hi Cheatah,

(ist das der name einer bekannten Katze? irgendwie ist das das erste das mit bei dem namen einfällt -> katze, ka warum ;)

hast Du einen Content-Disposition-Header mitgeliefert? Wenn ja, wie sieht der genau aus?

ja, header("Content-Disposition: attachment; filename=$Filename");

war die letzte Version, ich habe es auch mit

header("Content-Disposition: attachment; filename="$Filename"");
und
header("Content-Disposition: inline; filename=$Filename");

probiert, alles was ich in Lösungsvorschlägen im Netz gefunden habe.
Ich denke mal die erste Variante ist ok, aber wer sagt den das jeder Browser _wirklich_ ne ahnung von HTTP hat. Beim T-online hab ich da ein paar Zweifel ...

Ja, das ist sauber. Wobei natürlich eine .htaccess, die normalerweise nicht gebraucht würde, eine potentielle Performance-Falle ist - das macht sich aber bei "normalem" Traffic nicht bemerkbar.

der Traffic dürfte wirklich nicht so extrem hoch werden

Nö:

RewriteRule /download/(.+) /download.php?file=$1

hmm, da muss ich nochmal in den dokus blättern, aber kommt so nicht wieder ein 302? und der dateiname wäre dann wieder download.php?file=xxx was der T-Online-Browser nicht checken will?

Du solltest ihn darauf hinweisen, dass er aus Sicherheitsgründen einen 1.3.26 installieren soll. Bei Apache ist vor wenigen Wochen eine Sicherheitslücke aufgetreten, die eine schwere DoS-Attacke ermöglicht; in Version 1.3.26 ist dies gefixt.

ui, mach ich lieber mal

1.) ich kann irgendwie verhindern, das die Standard-Header vom Apache geschickt werden und erlange vollständige Kontrolle über die HTTP-Header.

Ja! Die Macht ist mit Dir! *g*

Beziehungsweise Du machst Dich mit dem Begriff PATH_INFO vertraut und umgehst die gesamte Problematik. Aber das wäre ja zu einfach ;-)

Mein Skript arbeitet mit PATH_INFO, genauer gesagt steht in der "gefakten" setup.zip nur
<?php
include("download.php");
?>
dieses liesst dann über PATH_INFO den Dateinamen aus.

Wie gesagt, brauchbare (dem user gegenüber vertretbare Ergebnisse habe ich nur hinbekommen wenn ich dafür Sorge das er _genau_ die selben header bekommt als wenn der Server direkt die .zip liefert)

Sehr. Ich glaube, Du bist einfach nur kräftig in den Wald gerannt, den Du jetzt vor lauter Bäumen nicht mehr siehst, weil Dir einer von den Dingern ein mächtiges Brett vor den Kopf genagelt hat *g*

hmm, jetzt wo du es sagst sehe ich da etwas vor meinem Kopf hängen, konnte ein Brett sein, bin aber nicht ganz sicher. Die Frage ist nur, wie bekomme ich das wieder los? ;)

erstmal thx für deine rasche und konstruktive Antwort, werde nochmal  in der apache-doku schmökern und veruschen deinen rat zu beherzigen und nach einer einfachen lösung suchen (sobald ich das Brett los bin)

gruss

Thorsten