What I do is store visitor information persistently in a database for a short timeframe. I store the IP address, hostname, session ID, web browser's user info string, and HTTP referrer, and then send the session ID to the client as a cookie. When a visitor returns I read their session ID fronm the cookie, restore their session if they've been there before, and compare hosts from the previous visit - if a host changes often for a given visitor it's likely to be a proxied host. I also compare their IP's actual host versus what they're reporting as their host, and if the two differ they're also likely to be behind a proxy.
This works well for the most part but isn't foolproof, as there's no solid and consistently workable means to detect a proxied visitor.
For privacy's sake the info I store is only used for demographics and referral purposes, and the database for it gets autoflushed periodically via cronned script file.
I'm not providing sample code because there are as many ways to do what I do as there are environments to do it in...
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Looking for more Windows Networking info?
Sign up to the WindowsNetworking.com Monthly Newsletter, written by Enterprise Security MVP Deb Shinder, containing news, the hottest tips, Networking links of the month and much more. Subscribe today and don't miss a thing! View a sample newsletter.
Become a WindowsNetworking.com member!
Discuss your Windows Networking issues with thousands of other Windows Newtorking experts. Click here to join!