Ну, в теории, да, вы можете.Сначала вам нужно получить IP клиента через переменную $ENV{'REMOTE_ADDR'}
.Тогда вам нужно будет использовать модули сокетов, такие как Sockets
или IO::Socket
, если вы хотите более простой API (первый точно такой же, как сокеты C) и проверить определенный порт для этой информации;например, если пользователь работает под управлением Windows, он может открыть NetBios на порту 137, который обычно по умолчанию выдает имя компьютера.
Однако этот метод юридически является серой зоной и в некоторых странах может быть классифицирован какпопытка получить несанкционированный доступ к информации ...
Однако пользователь, просто зайдя на вашу страницу, раскрывает только IP, идентификатор пользователя, реферер и другую информацию, включенную в заголовки HTTP.
Если вам нужна дополнительная информацияВы можете сделать свое собственное исследование, я дал вам основы ...