We can use setHeader attributes where we can specify the no cache and expire time. With this two we can play around and get what you have asked. In this way we can restrict the user from go back to previous page or when refreshing we can get as a fresh request.
Hope this helps you if not do post the exact scenario.
If each page should only be visited once, then you can keep a "flag" as a session variable. i.e. when the page is opened, check if the session variable exists. If so, throw an error and invalidate session as it has already been visited. If it does not exist, create it and then continue on.
Of course, if his browser updates the page out of cache, you can't stop the back or refresh (except by playing with the cache and expires pragmas as listed earlier so that the browser has to request the page again). [ April 18, 2006: Message edited by: Martin Simons ]