Le REFERER est fourni par le navigateur. Tu ne peux pas être certain que tous les navigateur vont l'envoyer.
D'autre part, le problème, c'est qu'il est tout à fait possible de simuler les requêtes d'un navigateur.
Avec les sessions, tu peux facilement mettre en place un système qui te permet de suivre la navigation d'un utilisateur de ton site. Cette trace est alors (presque) fiable puisque c'est ton serveur qui la gère.
Un règle de base en matière de sécurité, c'est de ne pas faire confiance dans les données que le client t'envoie.
---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.