Идентификация машины / ID пользователя Perl - PullRequest
0 голосов
/ 18 октября 2018

Существует веб-сайт, который забанил моего клиента.Если он регистрирует учетную запись на этом сайте с компьютером «А», его учетная запись немедленно аннулируется.Если он зарегистрирует учетную запись на компьютере «B», это не проблема.(сайт не может его идентифицировать) Я бы хотел сделать это с моим сайтом.(то есть: идентифицировать пользователя по его компьютеру). Я могу определить переменные среды, но это не то, что использует этот сайт.Я не уверен, как пометить этот вопрос.Любая помощь приветствуется.

<code>#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "<pre>\n";

foreach my $key (sort keys(%ENV)) {
print "$key = $ENV{$key}<p>";
}
print "
\ n ";

1 Ответ

0 голосов
/ 18 октября 2018

Я правильно вас понимаю, что ваш клиент использует компьютеры A и B внутри одной сети, поэтому запросы поступают с одного и того же IP-адреса, верно?

На стороне сервера - это то, что вы делаете- вы можете идентифицировать пользователя только по его IP-адресу.Все остальное (файлы cookie, информация об агентах пользователя, языковые предпочтения и т. Д.) Отправляется на добровольной основе и ненадежно.

Повторите эксперимент с отключенным JavaScript, и удаленная сторона, вероятно, не сможет идентифицировать пользователя.С помощью JavaScript вы можете собрать поразительную информацию о аппаратном и программном обеспечении пользователя: ОС, установленные плагины, установленные шрифты, разрешение экрана, свойства графического оборудования (рисование на холсте и анализ результата), свойствааудиооборудование и многое другое.См. https://github.com/Valve/fingerprintjs2 о том, что возможно.

Затем вы можете отправить всю эту информацию в AJAX-запросе обратно на сервер и отреагировать на нее.Но этот подход также изначально ограничен:

  1. Пользователь может отключить JavaScript (хотя этого можно избежать, потребовав JavaScript для процесса регистрации).
  2. Пользователь может манипулировать отправленной информацией.
  3. Пользователь может блокировать вызовы AJAX или этот конкретный вызов AJAX.

Но практика показывает, что этот подход довольно успешен.

...