Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Скрипт для определения браузера и ОС

#1 kuku

kuku
  • Пользователь
  • 9 сообщений
  • Репутация: 0
0

Отправлено 11 Март 2010 - 03:44

Vне нужен скрипт для определения типов и версий браузеров и операционок на сайте и этот скрипт должен записывать результаты в базу помогите пожалуйста буду очень благодарен!

 

 

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Клоакинг: скрипт для определения бота или человека
  2. Скрипт определения IP адреса
  3. Скрипт определения профилей Вконтакте посетителей Вашего сайта

#2 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 11 Март 2010 - 14:42

Прощу прощения, что влез, но мне очень нужна помощь помогите мне пожалуйста нужен скрипт для определения типов и версий браузеров и опрационок посетителей сайта, который мне полученную инфу запишет в базу подскажите скриптик оооооооочень нужно!!!!!!!!!!!!!!!!!!!!!!!!!1

kuku,
$_SERVER['HTTP_USER_AGENT'] вам в руки.
Ниже несколько примеров содержимого этой переменной для разных сочетаний осей и браузеров:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.22 Version/10.50

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.04 [ru]

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1


Немного кода на php (определяем тип и версию браузера и тип ОС, версию оси - вам на факультатив)
<?php

//============== Тип и версия браузера ==============
function browser_info($agent) {

// Cигнатуру Opera ищем раньше ИЕ, т.к. опера иногда раньше обманывала,
// что она не опера, а ИЕ и добавляла себе ИЕшную сигнатуру "MSIE")

// Ищем сигнатуру Opera старый вариант: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.04 [ru]
if (ereg( 'Opera ([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Opera";
$browse_version = $version[1];

// Ищем сигнатуру Opera новый вариант (версия живет отдельно): Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.5.22 Version/10.50
elseif (ereg( 'Opera/', $agent)):
ereg( 'Version/([0-9]{1,2}.[0-9]{1,2})', $agent, $version);
$browse_type = "Opera";
$browse_version = $version[1];

// Ищем сигнатуру Internet Explorer
elseif (ereg('MSIE ([0-9].[0-9]{1,2})', $agent, $version)):
$browse_type = "IE";
$browse_version = $version[1];

// Ищем сигнатуру Firefox
elseif (ereg('Firefox/([0-9].[0-9]{1,2})', $agent, $version)):
$browse_type = "Firefox";
$browse_version = $version[1];

// Ищем сигнатуру Chrome
elseif (ereg( 'Chrome/([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Chrome";
$browse_version = $version[1];

// Ищем сигнатуру Netscape
elseif (ereg( 'Netscape/([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Netscape";
$browse_version = $version[1];

// Если все мимо
// значит наша функция этот браузер не знает
else :
$browse_type = "Unknown";
$browse_version = "Unknown";
endif;

// Возвращаем тип и версию браузера в виде массива
return array ($browse_type, $browse_version);
}

//============== Тип операционной системы ==============
function opsys_info($agent) {

// Ищем сигнатуру Windows
if ( strstr ($agent, 'Win') ) :
$opsys = "Windows";

// Ищем сигнатуру Linux
elseif ( strstr($agent, 'Linux') ) :
$opsys = "Linux";

// Ищем сигнатуру UNIX
elseif ( strstr ($agent, 'Unix') ) :
$opsys = "Unix";

// Ищем сигнатуру Macintosh
elseif ( strstr ($agent, 'Mac') ) :
$opsys = "Macintosh";

// Ничего не нашли - хз какая ось
else :
$opsys = "Unknown";
endif;

// Возвращаем информацию об оси
return $opsys;
}

$agent = $_SERVER['HTTP_USER_AGENT'];
echo "<pre>";
print_r (browser_info($agent));
print_r (opsys_info($agent));
echo "</pre>";

?>

  • 0

#3 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 11 Март 2010 - 19:39

Это двухминутный скриптик. Все необходмые данные храняться в суперглобальном массиве $_SERVER
Посмотреть под каким индексом, можете, напечатав в PHP

print_r($_SERVER);

Запись в БД - это другая тема. А форум не для раздачи скриптов, а для того, чтобы научиться.
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 11 Март 2010 - 19:53

kuku, файл основного скрипта по определению ОС и браузера в аттаче. Файл называется browser_detection.php. Мощный скрипт, вытаскивает много лишнего, поэтому ниже ограничимся только ОС и браузером

Ниже приведен файл, для инициализации двух собственных переменных $_SERVER['CLIENT_BROWSER'] и $_SERVER['CLIENT_OS'] (заметим что таких переменных нет в стандарте)
client_detect.php
<?php

require_once("browser_detection.php"); // файлы должны находиться в одном каталоге

function browser_detection_initBD()
{
$os = "";
// change these two to match your include path/and file name you give the script
$browser_info = browser_detection('full');

$browser_info[] = browser_detection('moz_version');

switch ($browser_info[5])
{
case 'win':
$os .= 'Windows ';
break;
case 'nt':
$os .= 'Windows NT ';
break;
case 'lin':
$os .= 'Linux ';
break;
case 'mac':
$os .= 'Mac ';
break;
case 'unix':
$os .= 'Unix Version: ';
break;
default:
$os .= $browser_info[5];
}

if ( $browser_info[5] == 'nt' )
{
if ($browser_info[6] == 5)
{
$os .= '5.0 (Windows 2000)';
}
elseif ($browser_info[6] == 5.1)
{
$os .= '5.1 (Windows XP)';
}
elseif ($browser_info[6] == 5.2)
{
$os .= '5.2 (Windows XP x64 Edition or Windows Server 2003)';
}
elseif ($browser_info[6] == 6.0)
{
$os .= '6.0 (Windows Vista)';
}
elseif ($browser_info[6] == 6.1)
{
$os .= '6.1 (Windows 7)';
}
}
elseif ( ( $browser_info[5] == 'mac' ) && ( $browser_info[6] >= 10 ) )
{
$os .= 'OS X';
}
elseif ( $browser_info[5] == 'lin' )
{
$os .= ( $browser_info[6] != '' ) ? 'Distro: ' . ucfirst ($browser_info[6] ) : 'Smart Move!!!';
}
elseif ( $browser_info[6] == '' )
{
$os .= ' (version unknown)';
}
else
{
$os .= strtoupper( $browser_info[6] );
}

$browser = '';
if ($browser_info[0] == 'moz' )
{
$a_temp = $browser_info[count( $browser_info ) - 1];// the moz array is last item
$browser .= ($a_temp[0] != 'mozilla') ? 'Mozilla/ ' . ucfirst($a_temp[0]) . ' ' : ucfirst($a_temp[0]) . ' ';
$browser .= $a_temp[1] . '; ';
$browser .= 'ProductSub: ';
$browser .= ( $a_temp[4] != '' ) ? $a_temp[4] . '; ' : 'Not Available; ';
$browser .= ($a_temp[0] != 'galeon')?'RV version: ' . $a_temp[3] : '';
}
elseif ( $browser_info[0] == 'ns' )
{
$browser .= 'Netscape ';
$browser .= $browser_info[1] . '';
}
else
{
$browser .= ($browser_info[0] == 'ie') ? strtoupper($browser_info[7]) : ucwords($browser_info[7]);
$browser .= ' ' . $browser_info[1];
}
$_SERVER['CLIENT_BROWSER'] = $browser;
$_SERVER['CLIENT_OS'] = $os;
}

browser_detection_initBD();

?>

Использование данной библиотеки у себя на сайте, к примеру, файл index.php:
<?php

require_once("[путь]/client_detect.php");

echo "Ваша операционная система: {$_SERVER['CLIENT_OS']}";
echo "<br />";
echo "Ваш браузер: {$_SERVER['CLIENT_BROWSER']}";

?>

Прикрепленные файлы


  • 0

#5 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 11 Март 2010 - 21:30

все обшего развития http://softtime.ru/i...p?id_article=69
  • 0


Оформление форума – IPBSkins.ru