Udělejte odkaz takto:
$time = time();
$hash = md5($id . $time . "somerandomsalt"); // check this again in activation.php
$link = "activation.php?id=" . $id . "&hash=" . $hash . "&time=" . $time;
Poté v activation.php
zkontrolujete, zda se hash shoduje. Jo a samozřejmě zkontrolujte čas :P
Mohli byste to trochu zatemnit, abyste skryli id , hash a čas parametry dotazu, ale to je základ.