METHOD ONE
Use IP tracking and a log file, the basics are this
when the page is visited store the timestamp and the uers's ip address into a log file
When the board page is visited check for the existence of their ip and a recent (say 5 or 10 minutes) timestamp in the log file.
If this information exists then create a new entry in the log file with the current timestamp and ip so that they don't expire while they are on the forums. If this information does not exist in the log file redirect them to the page before the forums.
Make sure you keep this file clean by having one of these functions delete any outdated entries in the log.
Benefits: This method is comletely server side so it does not rely on any technology on the user end, which means the user cannot cause it to fail.
Drawbacks: With most internet user's having dynamic ip addresses there is a chance of anmolous behavior such as someone's ip changing while they are viewing the board causing a kick back to the main page, or one user having the ip and visiting the main page then another user getting around the security by incidently getting the same ip. The chances of these events are rare, but possible.
METHOD TWO
Use cookies.
When someone visits the intro page set a cookie to expire in 5 or 10 minutes.
When someone visits the forum check for the existence of this cookie. If it exists recreate it to give them another 5 or 10 minutes. If it does not exist redirect them to the intro page.
Benefits: You needent worry about dynamic ip addresses with this method as it is tied to a browser instead.
Drawbacks: Two people sharing a computer could, unknowingly, by pass your security. The user could turn cookies off which will mean they can never access your forums.
METHOD THREE
Use session variables.
Just set a session variable on the into page and check for its existence in the forum.
If it exists they can view the forum if it does not they are redirected to the intro page.
Benefits: This is the simplest to set up, as it requires no file cleaning or rewritting of a cookie.
Drawbacks: All known problems with sessions.
CONCLUSION
I usually use method one since it is all server side and the dynamic ip probably has such a low probablity of happening.
If you would like some example code just ask.