Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Perl (http://www.flasher.ru/forum/forumdisplay.php?f=21)
-   -   Как определить систему пользователя и язык? (http://www.flasher.ru/forum/showthread.php?t=20904)

sanwebm 27.09.2001 21:39

Как определить систему пользователя и язык?
 
Подскажите пожалуйста,
как определить операционную систему и язык, пришедшего на сайт пользователя?

Если можно код.

Заранее благодарен.

Nessa 27.09.2001 22:57

Вроде бы определяется по IP, но врятле это делает перл :)
хотя на нем можно сделать все что угодно :D

Nessa 28.09.2001 01:05

Можно еще через JavaScript определить, а потом по средствам перла сохранять в файл :)

kompadre 28.09.2001 08:46

От вона, %ENV...
 
Код:

HTTP_USER_AGENT="Mozilla/4.0 (compatible; MSIE 5.01;
Windows 98)"

QUERY_STRING=""
REMOTE_ADDR="127.0.0.1"
REMOTE_PORT="1131"
REQUEST_METHOD="GET"
REQUEST_URI="/cgi-bin/printenv.pl"

Вот. Больше из CGI ENV о клиенте вытащить ни чо низзя!!!
А в JavaScript это действительно деаеться легко и просто... Только не знаю на сколько это правильно... Шлеш клиента на пустую страницу. На этой страницы сооружаеш примерно такой скприпт :
Код:

<html>
<head>
<script>
  function setClient () {
      form.agent = navigator.appName;
      form.submit();
  }
</script>
</head>
<body onload="setClient()">
  <form action="cgi-bin/getAgent.cgi">
  <input type="hidden" name="agent">   
    </form> 
</body>
</html>


sanwebm 28.09.2001 20:50

Дайте тогда код на JavaScript!!
 
Если это можно средствами Javascript передать в CGI, то будьте любезны оставьте код!


Кстати, основные операционные системы при помощи перла можжно определить так:

Код:

for ($ENV{'HTTP_USER_AGENT'}) {
$os = /Mac/ && "Macintosh"
        || /Win(dows )?95/ && "Windows 95"
        || /Win(dows )?98/ && "Windows 98"
        || /Win(dows )?ME/ && "Windows ME"
        || /Win(dows )?XP/ && "Windows XP"
        || /Win(dows )?2000/ && "Windows 2000"
        || /Win(dows )?2K/ && "Windows 2K"
        || /Win(dows )?NT/ && "Windows NT"
        || /WebTV/ && "WebTV"
        || /Linux/ && "Linux"
        || /Unix/ && "Unix"
        || /Mac?OS/ && "MacOs";
        || /IRIX/ && "IRIX";
        || /CP(?/M)/ && "CP/M";
        || /Sun?OS/ && "Sun";
}
if (!defined $os) {$os="NA"}

Но это только основные... Жаль...

Жду Ваших ответо на JavaScript или на Перле

Заранее благодарен.

kompadre 01.10.2001 23:03

Два вопроса...

1, копирывать умееш? Если да, то попробуй следующею фишку. Береш, копируеш все что я написал (нижний код), в текстовый файл который ты называеш test.html... Теперь у тебя есть страница котороя пересылает информацияю о браузере в cgi-bin/getAgent.cgi ;)

2, Я малость не понял какую роль играет твой скрипт в этом топике. Мы должны смотреть на него и удивлятся. Типа - делают-же умные вещи умные дюди... :confused:


Часовой пояс GMT +4, время: 03:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.