Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
решил по-быстрому, между прямых задач по 1С, замутить свой сайтик техподдержки на предприятии (FAQ по самым горячим вопросам, хелп по основной работе пользователей и прием заявок). Поставил lighttpd, прикрутил Strawberry Perl, MS SQL Server Express 2005, соорудил страничку - все супер, но... Не могу получить имя компа, с которого на страницу заходит юзер! IP-адрес - без проблем, $ENV{REMOTE_ADDR}, а $ENV{REMOTE_HOST} - пуст... точнее, даже нет такого ключа в хэше %ENV, вижу это, перебирая его полностью: SERVER_PORT - 81 HTTP_ACCEPT_ENCODING - gzip,deflate,sdch SERVER_SOFTWARE - LightTPD/1.4.32-1-IPv6 (Win32) REMOTE_ADDR - 127.0.0.1 SERVER_PROTOCOL - HTTP/1.1 SERVER_ADDR - 0.0.0.0 SCRIPT_NAME - /index.pl CONTENT_LENGTH - 0 SYSTEMROOT - C:\WINDOWS WINDIR - C:\WINDOWS REQUEST_METHOD - GET HTTP_CACHE_CONTROL - max-age=0 REQUEST_URI - / DOCUMENT_ROOT - C:/asup/docroot/ HTTP_USER_AGENT - Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 SCRIPT_FILENAME - C:/asup/docroot/index.pl SERVER_NAME - localhost GATEWAY_INTERFACE - CGI/1.1 HTTP_ACCEPT_LANGUAGE - ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 HTTP_HOST - localhost:81 HTTP_ACCEPT - text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 HTTP_CONNECTION - keep-alive REMOTE_PORT - 3142 REDIRECT_STATUS - 200 где-то в Инетах пишут, что вообще не судьба. Это правда? Сеть с доменами, сайт на обычной юзерской машине (XPsp3) в домене. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2014, 15:46 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
Да, это правда. Почти... "Домен" это микрософтовское изобретение имеющее смысл только для локальных сетей основанных на netbios. Вот если бы ты работал не с http а с netbios, тогда то самое имя машины зарегистрированное в домене нашлось бы с легкостью. А ты ищешь интернет-имя машины которое имеет смысл для http... В общем, для того что ты хочешь, надо чтобы твой контроллер домена выполнял еще и функцию DNS и добавлял в свою таблицу имена хостов на основе доменных имен. Тогда получив IP ты мог бы делать gethostbyaddr() и все... Тряси своего админа... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 06:38 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
DEugeneVREMOTE_ADDR - 127.0.0.1 зайди с другого компа и посмотри что там будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 07:21 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
тоже думаю что нетбиос это не проблема. если сервер находиться точно также в корпоративной сети, он может как и любая другая машина получить это самое имя! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:11 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
DEugeneV, reverse DNS lookup - долгая операция (особенно если обратная зона вообще не прописана), так что по умолчанию оно в веб сервере отключено. Иначе при каждом заходе на любой сайт возникала бы нехилая пауза пока сервер ищет ваше имя хоста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 12:44 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
BarloneDEugeneV, reverse DNS lookup - долгая операция (особенно если обратная зона вообще не прописана), так что по умолчанию оно в веб сервере отключено. Иначе при каждом заходе на любой сайт возникала бы нехилая пауза пока сервер ищет ваше имя хоста... ваще-то dnscache на клиенте по умолчанию включен. нужно это проверить. запустить, если вдруг, вот так: net start dnscache посмотреть что болтается в кэше можно с помощью ipconfig /displaydns и скорее всего надо просить админа, чтобы стартанул WINS-сервер и чтобы он убедился, что прописаны записи типа WINS и WINS-R в файле зоны DNS-сервера Код: coco 1. 2. 3. 4. 5. ну и после этого уже смотреть что появится в локальном кэше и добавлять в случае успеха gethostbyaddr() в код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 14:29 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
ИзопропилDEugeneVREMOTE_ADDR - 127.0.0.1 зайди с другого компа и посмотри что там будет ip того компа, с которого зашел (например, 192.168.113) White Owlнадо чтобы твой контроллер домена выполнял еще и функцию DNS и добавлял в свою таблицу имена хостов на основе доменных имен. Тогда получив IP ты мог бы делать gethostbyaddr() и все Наш DC выполняет функцию DNS, хотя за настройки не поручусь, делали до меня и, есть основания подозревать, кривовато...Например, вот выдержка из ipconfig /all с моего рабочего компа (на нем же и сайт): Dhcp включен. . . . . . . . . . . : да Автонастройка включена . . . . . : да IP-адрес . . . . . . . . . . . . : 192.168.1.111 Маска подсети . . . . . . . . . . : 255.255.255.0 Основной шлюз . . . . . . . . . . : 192.168.1.222 192.168.1.3 DHCP-сервер . . . . . . . . . . . : 192.168.1.3 DNS-серверы . . . . . . . . . . . : 192.168.1.3 194.158.204.238 82.209.195.12 Непонятно, так нужно, чтобы среди DNS-серверов были какие-то "внешние", или это косяк? я сам не особо в этом разбираюсь, но спросить кроме себя некого - остался савсэм адын, прог и адмын:) volodin661, чувствую, что тепло:) dnscache запущена, в кэше много чего болтается (начиная с www.sql.ru...89.188.113.172); попробовал добавить себе в код use Socket; ... my $client = gethostbyaddr($ENV{REMOTE_ADDR}, AF_INET); - при открытии страницы действительно ощущается длинная пауза, но $client - пусто...WINS, похоже, не запущен - где его найти? что-то не наблюдаю, на DC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 16:24 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
DEugeneVНаш DC выполняет функцию DNS, хотя за настройки не поручусьЕсли там есть и отдаются по запросу все необходимые PTR-записи, тогда вполне можно пользоваться. Попробуйте протестить Код: sql 1. 2. 3. 4. 5. Здесь dc.cit.local - мой контроллер виндового домена с ролью DNS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 17:43 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
DEugeneVWINS, похоже, не запущен - где его найти? что-то не наблюдаю, на DC. 1) Установка WINS-сервера 2) Открытие консоли WINS 3) Для использования интеграции просмотра WINS и так далее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2014, 19:21 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
Да не парьте людям мозги этим WINS. Насколько я понимаю, WINS уже запрещен на территории Евросоюза и в современных windows-сетях в частности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2014, 20:15 |
|
||
|
Perl, локальный вебсайт - как узнать DNS-имя компа, с которого зашел юзер?
|
|||
|---|---|---|---|
|
#18+
netwindНасколько я понимаю, WINS уже запрещен на территории Евросоюза и в современных windows-сетях в частности. запрещен только в интернэт-кафэ и вблизи детских площадок, а просто на улице - пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2014, 02:41 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38795740&tid=1462279]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 350ms |

| 0 / 0 |
