What some sites do is to use the $HTTP_REFERER variable (this is a built-in CGI-style variable) that tells how the user got to the page. If this variable is filled in and has your site in it, you should allow the user to see the page. If not, you can redirect them to the home page (meta tag or 302 header redirect) where they can be forced to undergo further "scrutiny" :-).
RW
===========================================
http://badblue.com
Small footprint P2P web server for Windows,
File-sharing, PHP, wireless apps & more