Forum Webscript.Ru

Программирование => Perl => Тема начата: от 05 Февраля 2002, 23:01:13

Название: Помогите плиз
Отправлено: от 05 Февраля 2002, 23:01:13
Всем привет....
Ребята будте добры подскажите как можно определить провайдера посетителя и операционную систему на его компе.
Заранее очень благодарен
Название: Помогите плиз
Отправлено: glebushka от 05 Февраля 2002, 23:51:17
А ты у кого хостишься?
провайдер сугубо по IP - в Инете поищи списки, там по сочетаниям цифр определяется провайдер (не помню толи по первым трём, то ли ещё как).
Операционную систему - в лог-файле, (от туда же берёшь и IP:).
Название: Помогите плиз
Отправлено: glebushka от 05 Февраля 2002, 23:52:35
Вот только причём здесь CGI-скрипты?
Название: Помогите плиз
Отправлено: от 06 Февраля 2002, 00:05:52
Честно говоря ничего не понял....
Я думал, что программно можно определить ОС и провайдера. Ведь в мире их десятки тысяч, и я думаю информация о них постоянно меняется, одни появляются, другие исчезают...
Просто я как-то раз наткнулся на пагу где обо мне дали всю такую инфу и вот себе такую же хочу.
to glebushka, сенкс за ответ
Может кто-нибудь знает другое решение данного вопроса?
З.Ы. Страничка 100% генерировалась cgi скриптом.
Название: Помогите плиз
Отправлено: Lion от 06 Февраля 2002, 00:23:02
Unregistered
Цитировать
Просто я как-то раз наткнулся на пагу где обо мне дали всю такую инфу и вот себе такую же хочу.

юрл скажешь ?
Название: Помогите плиз
Отправлено: от 06 Февраля 2002, 00:26:24
to Lion
Честно, не помню, но щас попробую найти.
Название: ээ
Отправлено: Green Kakadu от 06 Февраля 2002, 01:53:19
print qq~
Операционная система: $^O\\n
Ваш ip: $ENV{\'REMOTE_ADDR\'}\\n
Вы пришли: $ENV{\'HTTP_REFERER\'}\\n
Версия Perl: $]\\n
~;
Название: Помогите плиз
Отправлено: от 06 Февраля 2002, 14:55:57
Green Kakadu сенкс

Цитировать
print qq~
Операционная система: $^O\\n
~;

Вот только выдает ОС сервера, а мне нужно клиента, я посмотрел ОС есть в HTTP_USER_AGENT, но вот не знаю как ее от туда вытянуть???
А с провайдером есть у кого-нибудь решение?
Спасибо
Название: есть
Отправлено: Green Kakadu от 06 Февраля 2002, 15:24:35
Цитировать
А с провайдером есть у кого-нибудь решение?

Есть - тебе надо узнать какой хост соотв. данному ip (тут был где-то неподалеку топик, где NeoNox ответил)

Цитировать
HTTP_USER_AGENT

есть решение ;) + узнать броузер:
http://forums.webscript.ru/showthread.php?s=&threadid=3594
топик называется ;) "Анализ строки \'USER_AGENT\'"
Название: Помогите плиз
Отправлено: NeoNox от 07 Февраля 2002, 00:52:54
Цитировать
тут был где-то неподалеку топик, где NeoNox ответил

Еще раз:

#!/usr/bin/perl

use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);

print header;


$ip = $ENV{\'REMOTE_ADDR\'};
@digits = split (/\\./, $ip);
$address = pack ("C4", @digits);
$host = gethostbyaddr ($address, 2);

print "$host";
Название: Помогите плиз
Отправлено: от 07 Февраля 2002, 10:18:10
to NeoNox ОГРОМНОЕ СПАСИБО, ВЫРУЧИЛ
Название: оптимизируем
Отправлено: Green Kakadu от 07 Февраля 2002, 10:27:33
Цитировать
use CGI qw(:all);

:) ведь также оставят... ты бы убрал что ли.

тогда уж:

use CGI qw(:html2);
И он же исключительно для вывода header,
т.е. можно вместо него вписать:

print "Content-Type: text/html\\n\\n";

и выкинуть use CGI
Название: Помогите плиз
Отправлено: NeoNox от 07 Февраля 2002, 11:58:58
Цитировать
ведь также оставят... ты бы убрал что ли.

Дык это же пример. %)
В сыром виде его употреблять сложно...
Название: Помогите плиз
Отправлено: от 07 Февраля 2002, 14:33:00
Самое главное все работает!
Ребята, еще раз биг сенкс!!!