есть ли способ получить имя пользователя и имя пользователя удаленного клиента через CGI в perl? Я пробовал печатать ENV-хэш в сценарии CGI, но я не мог получить эту информацию.имя пользователя имя пользователя от CGI
ответ
Нет. Эта информация не передается по HTTP и может вообще отсутствовать (например, мой телефон не требует, чтобы я входил в систему с именем пользователя , это однопользовательское устройство).
Вы можете получить IP-адрес компьютера, с которого пришел запрос (который может быть прокси-сервером), и использовать его для получения имени DNS (или другого сетевого протокола), но это примерно так близко, как вы можете получить.
Проверьте remote_host and remote_addr methods. Скорее всего, вы окажетесь как можно ближе к «компьютерному имени». Имя пользователя скорее всего не передается через http headers (например, технически вы можете считать, что заголовок авторизации и/или электронной почты закрыт, однако его маловероятно, что он будет заполнен в большинстве ситуаций).
Метод remote_host, в частности, выполняет обратный поиск DNS. Если что-то будет возвращено, вы получите результат, иначе вы просто получите удаленный адрес (например, ip).
Ну в теории, да, вы можете. Сначала вам нужно будет получить IP-адрес клиента через переменную $ENV{'REMOTE_ADDR'}
. Тогда вам нужно будет использовать модули сокетов, такие как Sockets
или IO::Socket
, если вам нужен более простой API (первый точно такой же, как C гнезда), и запрограммируйте определенный порт для этой информации; например, если пользователь работает под управлением Windows, он может открыть NetBios на порт 137, который обычно по умолчанию выдаст имя компьютера.
Этот метод, однако, серая область на законных основаниях, и в некоторых странах можно классифицировать как попытку получить несанкционированный доступ к информации ...
Однако пользователь просто доступ к вашей странице только раскрывает IP, UserAgent, реферер и другие информация, включенная в заголовки HTTP.
Если вы хотите получить дополнительную информацию, вы можете сделать свое исследование, я дал вам основы ...
- 1. Имя пользователя IRC как форум Имя пользователя
- 2. Получить полное имя пользователя новое имя пользователя
- 3. Получить имя пользователя от имени пользователя JFileChooser
- 4. Имя пользователя или пользователя
- 5. Какое имя пользователя пользователя?
- 6. Php, отображающий имя пользователя/имя пользователя
- 7. lua переменное имя от пользователя
- 8. Получить имя пользователя от $ _SESSION
- 9. получить имя пользователя от Webservice
- 10. tumblr имя пользователя от url
- 11. Получить имя пользователя пользователя Windows
- 12. full unix имя пользователя пользователя
- 13. Имя пользователя для пользователя ggplot
- 14. Aurelia: Как получить имя пользователя пользователя пользователя
- 15. Пользовательское имя интерфейса пользователя
- 16. динамическое имя пользователя log4net?
- 17. preg_match() и имя пользователя
- 18. убить имя пользователя? (Windows)
- 19. Общие настройки имя пользователя
- 20. Получить имя пользователя angularjs
- 21. Проверьте пользователя Имя существует
- 22. Автоматически генерируемое имя пользователя
- 23. HTAccess Перенаправление Имя пользователя
- 24. C имя пользователя в Linux - получить имя текущего пользователя
- 25. RegEx (? = '\\'). * $ - Попытка получить имя пользователя из домена \ имя пользователя
- 26. Как получить имя пользователя macosx Имя пользователя в объекте-c
- 27. Вставить в MYSQL базу данных, где имя пользователя =: имя пользователя
- 28. .htaccess домен slash имя пользователя на имя пользователя страница php
- 29. Как получить имя пользователя/имя пользователя из gmail?
- 30. Лучше проверить имя пользователя и пароль или просто имя пользователя?
Спасибо. Я где-то читал, что есть env-переменные, которые хранят эту информацию, и я не смог найти их. поэтому я разместил этот вопрос – SAN
+1 для DNS, не считал, что –