Faça o link assim:
$time = time();
$hash = md5($id . $time . "somerandomsalt"); // check this again in activation.php
$link = "activation.php?id=" . $id . "&hash=" . $hash . "&time=" . $time;
Então em
activation.php
você verifica se o hash corresponde. Ah, e verifique o tempo, claro :P Você pode ofuscar um pouco para ocultar o id , hash e tempo parâmetros de consulta, mas isso é o básico.