Как получить уникальный идентификатор ПК из веб-браузера

У меня есть веб-приложение, которое будет работать на нескольких конкретных целевых машинах. Я мог бы заставить пользователя выбрать, на какой машине он находится при входе в систему, но это подвержено ошибке. Есть ли способ получить уникальный идентификатор с каждого ПК, сохранить его в базе данных на моем сервере, а затем, когда кто-то входит в систему с определенной машины, идентифицировать эту машину? Я думал об IP-адресе, но они также могут измениться из-за характера нашего развертывания. Но важно то, что я знаю, какая машина система работает.

примечание: Я не пытаюсь определить машинный код машины веб-пользователя, поскольку это было бы нарушением конфиденциальности. Я знаю свои машины, поэтому я хотел как-то привязать их к базе данных. Это также действует как безопасность для меня, поскольку я могу отклонить логины от неизвестных машин.

Спасибо за любые идеи. Я запускаю Apache с воспламенителем кода 3 и Centos 6.5

5 ответов


вы можете использовать это как идентификатор компьютера:

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

это не совсем дурака, так как значения $_SERVER может быть подделан, однако он все равно добавит дополнительный уровень безопасности, который не зависит от cookies.


Это невозможно без клиентского компонента, плагина браузера или чего-то подобного. Ближайшие альтернативы:

  • использование cookies;
  • использование клиентских сертификатов;
  • С помощью браузера отпечатков пальцев;

каждый со своими недостатками.


первый раз, когда пользователь попадает на ваш сайт, идентифицируйте свою машину по IP-адресу. Затем установите постоянный файл cookie с уникальным идентификатором по вашему выбору.

в следующий раз, когда они приходят на сайт, вы можете идентифицировать их по уникальному идентификатору cookie, который вы установили ранее.


Я

использовать значение bin2hex(openssl_random_pseudo_bytes(512)) и установите его как cookie, а затем проверьте наличие cookie

или

использовать ведение журнала на основе IP, например (127.0.0.1), набрал hello

или

MAC-адреса (библиотеки php для него)


вы даже можете попробовать получить MAC-адрес:

используйте этот класс (https://github.com/BlakeGardner/php-mac-address)

Это класс PHP для обработки MAC-адресов поверх операционных систем Unix, Linux и Mac OS X. это было в первую очередь написано, чтобы помочь с подделкой для беспроводных аудитов безопасности.