0

How do I detect when a new computer has logged into my website?

The public IP address can be the same since you can share more than 1 computer via 1 internet connection.

I could use cookies but this will only detect a new browser not a new computer! 1 computer can have IE, firefox, chrome! Etc.

George Duckett
  • 31,770
  • 9
  • 95
  • 162
001
  • 62,807
  • 94
  • 230
  • 350

4 Answers4

4

I expect (and hope) that this is impossible. If my browser is transmitting information that identifies my machine, then I want a new browser. Likewise, you should probably not be expecting to be able to receive such information.


Update

Seems like I have to update my expectations: https://panopticlick.eff.org/

You can use browser finger printing to do a pretty darn good job of distinguishing between computers that visit your site. It won't be 100% perfect but not far short.

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
  • @mquander apparently there is my and 1,614,770 other users with my browser that have used that service. I think I'm safe for now!! – David Heffernan Jun 09 '11 at 14:27
  • Are you sure you read the results correctly? My browser has a uniquely identifiable configuration among 1,614,777 total browsers. – mqp Jun 09 '11 at 14:27
  • It is possible. I have still not figured out the specifics because I had to move on to more pressing projects, but here is a site that displays some of it: http://browserspy.dk/ – Joel Etherton Jun 09 '11 at 14:28
1

There is no unique way to identify visitors to your website. All types of cookies get deleted at some point. You might be tempted to use flash cookies, since they don't depend on the browser but I strongly recommend against it since there is a huge legal debate on them.

Your only solution is to use a heuristic based on all the information you can gather on your visitor. This is called browser fingerprinting. Check out http://panopticlick.eff.org/ for the latest research on this topic.

Mihai Oprea
  • 2,051
  • 3
  • 21
  • 39
0

You can check for the HTTP_X_FORWARDED_FOR header which should contain the machines Class C address (eg: 192.168.0.10) provided it was forwarded by a proxy.

Geoffrey
  • 10,843
  • 3
  • 33
  • 46
0

you can set a cookie on client and check it in session_start ,its not 100% solution but can be a solution

DeveloperX
  • 4,633
  • 17
  • 22