Wie kann ich also verhindern, daß der Kunde sieht, von wo er die Datei runterlädt? Download über einen Button?
Das ist auch nicht wesentlich sicherer.
Mein Vorschlag: In einer Session wird ein Array angelegt, das die Dateinamen dieses Users und einen zufällig ermittelten Schlüssel enthält. Diesen Schlüssel zeigst du als Parameter für ein Download-Schript in den Links an. Das Download-Script schaut in das Array in der Session und liefert die entsprechende Datei aus.