http://php.net/manual/tr/function.uniqid.php

Bu safyadaki fonksiyonu kullanıyorum ben hocam.

$guclu_token = md5(uniqid(mt_rand(), true));

Sana eşdeğersiz bir token üretiyor sistem. Bunu da şöyle kullanabilirsin;

indir.php?token=rastgeleuretilendeger

$deger = $_GET['token'];

olarak alırsın ve tüm indirme işlemlerini db'ye kayıt edersin. Indır.php'ye girildiğinde veya indirme sayfasına girildiğinde $deger değişkeninin kullanılıp, kullanılmadığına bakarsın. Eğer kullanılmadıysa ve geçerliyse (o dosyayı tanımlıyorsa) indirme işlemine izin verir sistem.

En basitinden bu algoritma çok daha da geliştirilir yani. Umarım yardımcı olmuşumdur.