Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620

Браузер пользователя и операционная система пользователя

20.04.2016, 12:54. Показов 1308. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В сети полно готовых скриптов, вроде бы этот считается лучшим по отзывам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function user_browser($agent) {
    // регулярное выражение, которое позволяет отпределить 90% браузеров
    preg_match("/(Trident|MSIE|Opera|Firefox|Chrome|CriOS|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/", $agent, $browser_info);
        list(,$browser,$version) = $browser_info; // получаем данные из массива в переменную
        if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera)) return 'Opera '.$opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
        if ($browser == 'MSIE') { // если браузер определён как IE
                preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie); // проверяем, не разработка ли это на основе IE
                if ($ie) return $ie[1].' based on IE '.$version; // если да, то возвращаем сообщение об этом
                return 'IE '.$version; // иначе просто возвращаем IE и номер версии
        }
        if ($browser == 'Trident'){
                if(preg_match('/Trident.*rv.(\\d+)\\.\\d+/i', $agent, $ie) === 1 ){ // special case for IE 11
                    // sample ie header
                    // Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
                    
                    $version  = ( isset($ie[1]) ) ? $ie[1] : '?';
                    return 'IE '.$version;
                }
        }
        if ($browser == 'Firefox') { // если браузер определён как Firefox
                preg_match("/(Flock|Navigator|Epiphany)\/([0-9.]+)/", $agent, $ff); // проверяем, не разработка ли это на основе Firefox
                if ($ff) return $ff[1].' '.$ff[2]; // если да, то выводим номер и версию
        }
        if ($browser == 'Opera' && $version == '9.80') return 'Opera '.substr($agent,-5); // если браузер определён как Opera 9.80, берём версию Оперы из конца строки
        if ($browser == 'CriOS') return 'Chrome '.$version; // определяем ChromeMobile from 
        if ($browser == 'Version') return 'Safari '.$version; // определяем Сафари
        if (!$browser && strpos($agent, 'Gecko')) return 'Browser based on Gecko'; // для неопознанных браузеров проверяем, если они на движке Gecko, и возращаем сообщение об этом
        return $browser.' '.$version; // для всех остальных возвращаем браузер и версию
}
но он не все браузеры распознает. На сайт часто заходят китайцы(если это не китайский прокси) и браузер не определяется.
С операционной системой еще хуже. Андроид распознается как Линукс.
Если попадался правильно работающий скрипт, поделитесь плс.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2016, 12:54
Ответы с готовыми решениями:

Браузер MYSQL на PHP для конечного пользователя
Доброго дня! Требуется браузер MYSQL (типа phpmyadmin/chive) на PHP для конечного пользователя. Т.е. удобный интерфейс, возможность...

Определить браузер пользователя
Доброго времени суток! Задался вопросом, как узнать в каком браузере находится пользователь? Из за специфики отображения элементов...

Chrom открывает браузер пользователя
У меня такая ситуация у меня в хроме несколько пользователей и есть основной которым я пользуюсь он не зарегестрирован как пользователь,...

13
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
20.04.2016, 15:06
Какой бы супермегапуперультраскрипт Вы бы не использовали - ни один не даст Вам точного результата!
Все эти данные, которые Вам передает "браузер" и иже с ним можно юзать только справочно и никак иначе.

Так что довольствуйтесь этим, рекомендую
1
25 / 25 / 15
Регистрация: 12.10.2013
Сообщений: 183
20.04.2016, 15:27
Цитата Сообщение от НиколайВасильев Посмотреть сообщение
Андроид распознается как Линукс.
Не хочу Вас огорчать, но андроид и есть линукс.
1
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
20.04.2016, 16:46  [ТС]
Laroux, пользуюсь, выхода нет, только заказчик хочет статистику, а тут пустые строчки.
n0n4m3r, не знал, я считал что собственная система от гугль.
0
25 / 25 / 15
Регистрация: 12.10.2013
Сообщений: 183
20.04.2016, 16:52
Цитата Сообщение от НиколайВасильев Посмотреть сообщение
я считал что собственная система от гугль.
Wiki
Обратите внимание на правый блок, семейство и ядро! По сути - Андроид - оболочка для линукса. Поправьте, если не прав.
1
 Аватар для Laroux
172 / 167 / 75
Регистрация: 21.11.2014
Сообщений: 1,490
20.04.2016, 16:55
Цитата Сообщение от НиколайВасильев Посмотреть сообщение
пустые строчки
никто не мешает Вам добавить в скрипт недостающие инициализирующие строки.
Сами допишите, чтобы не было пустого
1
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
21.04.2016, 09:53  [ТС]
Цитата Сообщение от Laroux Посмотреть сообщение
Сами допишите, чтобы не было пустого
Ну я пробовал, но их иероглифы как-то странно сравниваются или у каждого китайца свой браузер. Не смог победить. Сейчас заносится China, если не один из существующих.
Кстати, сканер мелкомягких с ip 207.46.13.50 тоже использует какой-то не стандартный браузер. В названии браузера у мелкомягких вообще 0х20
Был удивлен, некоторые посетители до сих пор используют IE6, если скрипт правильно отрабатывает.

Добавлено через 27 секунд
n0n4m3r, Спасибо! Я не знал этого
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
21.04.2016, 10:20
Цитата Сообщение от НиколайВасильев Посмотреть сообщение
Ну я пробовал, но их иероглифы как-то странно сравниваются или у каждого китайца свой браузер.
что-то я не припомню в логах символов отличных от ASCII
покажете?
0
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
21.04.2016, 12:04  [ТС]
полудух, нет проблем, покажу, как зайдет кто-н из Китая
Кстати, заход у него странный немного
index.php?1=%40ini_set%28%22display_erro rs%22%2C%220%22%29%3B%40set...
очень длинная строка
После вопроса цифра, а не маленькая L
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
21.04.2016, 12:05
да это просто ломают вас
0
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
21.04.2016, 14:10  [ТС]
полудух, поэтому иероглифы иногда попадают даже в ip и browser пустой?
Ничего там на сайте интересного нет, только огромные бухгалтерские таблицы.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.04.2016, 14:14
Есть же всякие гугл аналитики для этих целей
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,229
21.04.2016, 14:39
Цитата Сообщение от НиколайВасильев Посмотреть сообщение
полудух, поэтому иероглифы иногда попадают даже в ip и browser пустой?
Ничего там на сайте интересного нет, только огромные бухгалтерские таблицы.
пустой браузер это плохо настроенный бот без user-agent
боты могут выполнять любые ф-ии - могут парсить вас, могут уязвимости искать, ддосить могут
иероглифы в IP это уже что-то странное
0
12 / 12 / 2
Регистрация: 02.12.2015
Сообщений: 620
25.04.2016, 11:16  [ТС]
Цитата Сообщение от полудух Посмотреть сообщение
иероглифы в IP это уже что-то странное
Сменил все пароли, иероглифы пропали пока.
Добавил проверку адресной строки на параметры, если параметры есть, делаю редирект на сайт антивируса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2016, 11:16
Помогаю со студенческими работами здесь

Как можно узнать браузер по умолчанию пользователя?
Каким образом можно получить информацию о том, какой браузер стоит по умолчанию у пользователя?

Как узнать будет ли браузер пользователя показывать Flash?
Задача такая, если у пользователя будет крутьться Flash ролик, то показать его, а если нет то показать GIF.

Браузер с 2умя режимами (пользователя / администратора) по доступам к сайтам
Добрый день уважаемые форумчане !!! Прошу помощи у Гуру !!! Такая задача мне поставлена Один компьютер вин 7, 1 учетка...

Локальная система оповещения пользователя
Коллеги, доброго времени суток! Необходим совет по разработке модуля, отвечающего за напоминания пользователю открывать моё приложение...

Система мониторинга действий пользователя
Я пишу программу мониторинга, отслеживание действий с файлами и приложениями реализовал, а вот с историей посещения сайтов проблема, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru