Я правильно вас понимаю, что ваш клиент использует компьютеры A и B внутри одной сети, поэтому запросы поступают с одного и того же IP-адреса, верно?
На стороне сервера - это то, что вы делаете- вы можете идентифицировать пользователя только по его IP-адресу.Все остальное (файлы cookie, информация об агентах пользователя, языковые предпочтения и т. Д.) Отправляется на добровольной основе и ненадежно.
Повторите эксперимент с отключенным JavaScript, и удаленная сторона, вероятно, не сможет идентифицировать пользователя.С помощью JavaScript вы можете собрать поразительную информацию о аппаратном и программном обеспечении пользователя: ОС, установленные плагины, установленные шрифты, разрешение экрана, свойства графического оборудования (рисование на холсте и анализ результата), свойствааудиооборудование и многое другое.См. https://github.com/Valve/fingerprintjs2 о том, что возможно.
Затем вы можете отправить всю эту информацию в AJAX-запросе обратно на сервер и отреагировать на нее.Но этот подход также изначально ограничен:
- Пользователь может отключить JavaScript (хотя этого можно избежать, потребовав JavaScript для процесса регистрации).
- Пользователь может манипулировать отправленной информацией.
- Пользователь может блокировать вызовы AJAX или этот конкретный вызов AJAX.
Но практика показывает, что этот подход довольно успешен.