There are many different ways to implement a verification system, the concept is quite simple but actually building can be a hassle, especially if you are doing it from scratch.
The best way to approach this is to find a framework that handles the aspect of verification. Turbogears and Pylons are both capable of this rather than doing it yourself or using third party apps.
Personally I have worked on commercial projects using both frameworks and was able to sort out verification quite easily.
User verification utilizes specific concepts and low level technology such as: the internet's stateless characteristic, session handling, database design, etc...
So the point I am making is that it would be better if you rather got a good, stable framework that could do the dirty work for you.
By the way what framework are you thinking of using? That would help me give a more detailed answer.
Hope this helps?