Hm..
Just thinking, and I am not sure whether this is at all possible...
Use a frameset: Topframe with a meta-refresh, but 0 pixels high (So not visible). Refresh this say every 5 or 10 seconds. This you will use to register time left, say through a session. Once people log off, you register the time left in a DB table with user / pin / time left
In the bottom from you include the page you refer to. (And I mean include. NOT link. So you have your own page in the bottom frame, which has as only content the PhP include command
for the page you want to show.
This is of course also only if people have entered the right password, registered in the session. If I am correct, sessions are not registered on the user system, and cannot be faked (Maybe somebody can confirm this??). So then you have a fairly foolproof system?
Once the time in the top frame has run-rout, you can reload the whole page, and load a "buy-more-time" frame.
Hope this helps?
J.