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