Utwórz link w ten sposób:
$time = time();
$hash = md5($id . $time . "somerandomsalt"); // check this again in activation.php
$link = "activation.php?id=" . $id . "&hash=" . $hash . "&time=" . $time;
Następnie w activation.php
sprawdzasz, czy hash pasuje. Aha, i oczywiście sprawdź godzinę :P
Możesz to trochę zaciemnić, aby ukryć id , hasz i czas parametry zapytania, ale to są podstawy.