H
Die beste Möglichkeit wäre jeden User über Sessions zu verwalten und dann abzuspeichern, ob er auf der Downloadseite war oder nicht. Natürlich musst du dann den Download auch über ein PHP Script laufen lassen, das machst du so:
header('Content-type: application/zip'); /* header anpassen */
readfile('dateiname.zip');
Eine andere Möglichkeit wäre, über den REFERER zu arbeiten, aber da einige Browser diesen Sperren, bzw. was falsches angeben, kann es passieren, dass dies bei einigen nicht funktioniert.