When they register, give them a time limit, save it in your database.
Check the time has not been reached each time they log back in then set a session time for the remaining time too.
Would that work?
multiple IP protection on single user
Every time I hang up my connection I get allocated a different IP address, so does that mean I would not qualify?
What if I wanted to check how your test app looked on my smartphone?
Perhaps you are going to stipulate that the 2 hour test drive has to be done in one session?