Mit PHP ist das z.B. relativ Simpel.
Du Baust dir eine Datenbank mit den Userinfos auf und machs halt ne Anmeldung darüber. Anschließend baust du dir noch ne Tabelle, wo die eigentlichen Downloaddateien mit ner ID in Verbindung gebracht werden.
Wenn du dann nen Aufruf download.php?id=90 hast, kannst du aus der DB nachschlagen, wie der richtige Link zu id 90 aussieht und dann pehr header('location: linkadresse') darauf leiten lassen.