简体   繁体   中英

How to get a unique PC ID from a web browser

I have a web app that will be running n several specific target machines. I could have the user select which machine he is on when he logs in, but that is prone to error. Is there a way I can get some unique ID from each PC, store those in a database on my server and then when someone logs in from a particular machine, identify that machine? I thought of IP address but those might change as well due to the nature of our deployment. But is is critical that I know which machine the system is running on.

Note: I am not trying to determine the machine code of a web user's machine as that would be a privacy violation. I KNOW my machines so I was wanting to tie them to the database somehow. This also acts as security for me as I can reject logins from unknown machines.

Thanks for any ideas. I am running Apache with Code Igniter 3 and Centos 6.5

It's not possible without a client component, browser plugin or something similar. The closest alternatives are:

  • using cookies;
  • using client certificates;
  • using browser fingerprinting;

each with their own disadvantages.

You could use this as a computer ID:

$computerId = $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['LOCAL_PORT'].$_SERVER['REMOTE_ADDR'];

It's not completely fool proof, as the values of $_SERVER can be faked, however it will still add an extra layer of security that does not rely on cookies.

The first time a user hits your site, identify their machine by IP address. Then set a persistent cookie with a unique identifier of your choosing.

The next time they come to the site, you can identify them by the unique identifier cookie that you set previously.

I would either

use a value like bin2hex(openssl_random_pseudo_bytes(512)) and set it as a cookie and then check for the cookie

or

use IP based logging like (127.0.0.1) has typed hello

or

MAC Addresses (php libraries for it)

You can even try getting the MAC Address:

Use this class (https://github.com/BlakeGardner/php-mac-address)

This is a PHP class for MAC address manipulation on top of Unix, Linux and Mac OS X operating systems. it was primarily written to help with spoofing for wireless security audits.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM