2010-12-27 4 views

ответ

3

Нет. Эта информация не передается по HTTP и может вообще отсутствовать (например, мой телефон не требует, чтобы я входил в систему с именем пользователя , это однопользовательское устройство).

Вы можете получить IP-адрес компьютера, с которого пришел запрос (который может быть прокси-сервером), и использовать его для получения имени DNS (или другого сетевого протокола), но это примерно так близко, как вы можете получить.

+0

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

+0

+1 для DNS, не считал, что –

2

Проверьте remote_host and remote_addr methods. Скорее всего, вы окажетесь как можно ближе к «компьютерному имени». Имя пользователя скорее всего не передается через http headers (например, технически вы можете считать, что заголовок авторизации и/или электронной почты закрыт, однако его маловероятно, что он будет заполнен в большинстве ситуаций).

Метод remote_host, в частности, выполняет обратный поиск DNS. Если что-то будет возвращено, вы получите результат, иначе вы просто получите удаленный адрес (например, ip).

0

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

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

Однако пользователь просто доступ к вашей странице только раскрывает IP, UserAgent, реферер и другие информация, включенная в заголовки HTTP.

Если вы хотите получить дополнительную информацию, вы можете сделать свое исследование, я дал вам основы ...

Смежные вопросы