Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Как узнать имя хоста по его IP |
Автор: Creos 13.2.2006, 02:49 |
А можно ли узнать имя хоста к которому относится ip, к примеру, у меня есть список ip-шников, к каждому подписать его хост, это можно испоьлзовать как определение ботов поисковиков. |
Автор: Sardar 13.2.2006, 12:21 |
Creos, нет, ибо зачем козе (JS) баян (работа с DNS)? |
Автор: Creos 13.2.2006, 18:20 |
Sardar, тогда как можно решить это по-другому? может другие животные баяном легко пользоваться умеют? |
Автор: Sardar 13.2.2006, 18:40 |
Если только какой ActiveX обьект подключить под IE. Под мозиллой пользуем XPCOM, например: http://www.xulplanet.com/references/xpcomref/ifaces/nsIDNSService.html (host -> ip+info) Не нашёл ip -> host, но просто не искал тщательно. Xотя тебе это не поможет, прав юзать такие обьекты у вебстраничек нет. Совет: кесарю кесарево, а JS оставь для клиента, обращайся к DNS на сервере, тем более то будет быстро. Полученную инфу уже отдавай клиенту. |
Автор: Creos 13.2.2006, 21:08 |
Sardar, я бы с радостью, но у меня таких возможностей нет, едиснтвенное что я могу использовать НА страничке, это хтмл и всё что в нём. Другой вариант, который я могу - сделать страничку (например на пхп) на другом хосте и открывать в нульфрейме её, а в параметре передавать ип, а тот в свою очередь через эхо.... так вот на пхп можно будет что-то сделать, по определению хоста ip-шника? Типа whois-а вот тут: http://sunny.nic.com/cgi-bin/whois но мне нужен только хост, определить поисковик это или нет. |
Автор: 12345c 13.2.2006, 21:25 |
Так всё равно серверный скрипт (на своём хосте) придётся подключать, чтобы внедрить результат в HTML - с чужого, даже если получишь данные, они будут недоступны из JS. Можешь ещё приложение с правами межсайтового доступа написать. Или внедрять HTML в страницу на 3-м сайте: первый (на котором доступа к скриптам нет) грабишь из 3-го (своего), результаты доступны уже на сервере, оотуда же whois опросишь (2-й сайт). А тогда или серверный, или клиентский скрипт доделает дело. |
Автор: Destruction 14.2.2006, 00:03 | ||
Эмм, не понял нифига из поста 12345c. Вобщем делаешь так: На третьем сайте, где есть коза с хорошим баяном (e.g. PHP), делаешь скрипт, который берёт данные из GET о айпи и узнаёт его имя и верстает такой скрипт:
Самым лучшим решение было бы раздобыть нормальный хост и там поселиться, ИМХО. |
Автор: Creos 14.2.2006, 00:18 |
Я так и не понял, как узнать хост пользователя по ip. Номальный хост - допустим народ.ру, даже не важно какой, как будет свой, помещу туда, сейчас главное что б работало хоть иногда. Вот пришла на страницу с пхп переменная value, равная 66.249.65.8 теперь необходимо узнать имя хоста, через whois (у меня на форуме есть такие функции (php), но к сожалению к скриптам пхп я доступа не имею, и даже скопировать не могу) я узнаю что это: crawl-66-249-65-8.googlebot.com - гугл бот, значит строковыми манипуляциями, я нахожу в строке googlebot.com и возвращаю значение "Google Bot-я". ну вот.. как?) |
Автор: Sardar 14.2.2006, 01:49 |
Нет, так не выйдет, только если whois сервис с твоего домена. Не возможно обратиться к документу с другого домена, прав нет. Следовательно общественные whois ты из скриптов пользовать не можешь. Отсюда вывод: забей или давай здачу подробней, где понадобилось, найдём более корректное решение. |
Автор: 12345c 14.2.2006, 02:39 |
Destruction, так не выйдет (см. пост Sardar), поэтому нужна та более сложная схема (одна из двух), которую ты, как говоришь, не понял. Возможно, у тебя получается, если ты отключил блокировку межсайтового скриптинга в ie. Но это не общее решение. Creos, проще говоря, джаваскриптом никак. |
Автор: Creos 14.2.2006, 02:42 | ||
Sardar, толком не понял что ты имел ввиду.
А если страничка с другого домена, но своя, т.е. забить нужным элементам (в которых хранится значение хоста) айдишники, а со странички, где загружена в нульфрейме первая, обращаться по айдишникам к элементам первой. Возможно? Итак... задача: Дано: HTML - шаблон, используемый php скриптами (доступа к которым я не имею) моего форума. Сам HTML шаблон я изменять могу - использовать как html так и js-ы. За примером этого шаблона далеко не бегайте - откройте "Кто в онлайне" этого форума (Внизу главной страницы "Полный список по: http://forum.vingrad.ru/index.php?act=Online&CODE=listall&sort_key=click"), и увидите список ников, администрация же видит еще и ip ника/гостя. т.е. администрация видит мою строчку так: Creos ( 0.0.0.0 ) Соответственно шаблон - выглядит примерно так: <td>{user['name']} ( {user['ip']} )</td> п.с. на самом деле это не так, там ип и имя не разделены, и являются одной переменной {user['data']}, ип нужно выделять на строковом уровне, но это я и сам смогу. Теперь я открываю онлайн лист, и вижу там Гость: ip-шник Гость: ip-шник и т.д. Я же хочу, что б там писались не Гость и его айпи, а имя бота, если он конечно таковым и является, а проверку эту делать по его хосту. Если его хост googlebot.com то это Гугл-бот. Это сама задача. |
Автор: Sardar 15.2.2006, 00:00 |
Ну как своя, докажи ![]() Шучу, но серьёзно никак, документ из другого домена закрыт, можно ещё поиграться с сертификатами и подписями, но в реале оно того не стоит. О задаче: не на клиенте! Ничего не стоит тебе вызват gethostbyaddr (PHP) на сервере, попроси админов обновить скрипты. Иначе это не серьёзно, пытаться что-то сделать когда доступа к серверу нет ![]() |
Автор: Creos 17.2.2006, 19:56 |
Sardar, переубедил ![]() Админам пофиг. Я уже нашел все исходники форумов, осталось наладить на другом хостинге. В итоге, тему продолжит более настойчивый человек ![]() |