Подтвердить что ты не робот

Надежный способ обнаружения браузера, версии и plattfom в php

Я искал надежный способ иметь (по крайней мере, менее неясные):

  • имя браузера
  • версия
  • и платформа (ОС) находится на
  • может быть больше информации, но 3 информации выше достаточно.

Я хочу отобразить пользовательский контент в соответствии с этими данными, например:

Если пользователь хочет знать, как очистить файлы cookie в своем браузере. Скажем, у меня есть много контента, уже доступного для многих браузеров. версии И я хочу загрузить соответствующий контент автоматически

Есть ли способ не включать Javascript для получения этих значений?

У меня есть случаи, когда браузер не найден или неточен. Поэтому я хотел бы иметь самое надежное решение.

Вот 2 веб-сайта, которые делают именно то, что мне нужно:

  • www.whatismybrowser.com (связался с владельцем, чтобы узнать, как это сделать в PHP)
  • HawkBrowser Действительно исчерпывающий тест, а не бесплатный

Другая ссылка с частичными решениями:

Проводил много дней, пытаясь, заучивая, но безуспешно. Я нашел много советов от сообщества Stackoverflow:

  • браузерный браузер с get_browser(). проект был прекращен (на данный момент 8 августа 2012 года) и не обнаруживает какого-либо современного популярного портативного устройства.
  • Javascript обнаруживает функциональный подход: Modernirz. Нехороший подход к тому, что я хочу сделать, долго и должен часто обновляться.
  • jQuery.browser Недостаточно мало возможностей.
  • quirksmode.org javascript и неточно с мобильным на данный момент и предпочтет версию PHP.

Другие полезные ссылки:

РЕДАКТИРОВАТЬ 1 До сих пор я тестировал ответы и комментарии. Эти решения очень удовлетворяют:

  • PHP mobile detect Последняя версия действительно хороша, если вы используете это, было бы хорошо дайте клиенту форму в примере, чтобы они могли внести свой вклад в проект. (спасибо @Pekka)
  • WURFL менее недавний, но очень хороший. (благодаря @Ian Roberts)

    РЕДАКТИРОВАТЬ 2 В мобильном детекторе PHP используется WURFL

UPDATE

Убедитесь, что получаемый вами заголовок не изменяется какой-либо другой библиотекой.

Например, некоторые библиотеки безопасности, такие как OWASP PhpSec [ABANDONED] изменить заголовка в пользовательский объект и обнаружение мобильных устройств в мире не имеет доступа ко всей необходимой ему информации

Для тех из вас, кто использует OWASP PhpSec [ABANDONED] http library изменяет структуру объекта глобального заголовка. (Декабрь 2013 г.) Итак, если у вас есть проблемы, просто используйте обнаружение мобильных устройств в Интернете, прежде чем включать класс OWASP PhpSec, используя http-библиотеку

4b9b3361

Ответ 1

Вы считали WURFL? Его основная цель - классифицировать браузеры мобильных устройств, но он утверждает, что имеет режим, который также идентифицирует настольные.

Ответ 2

Информация о браузере в PHP, которую вы получаете от get_browser()

чтобы вы могли использовать вызов ajax на сайт PHP, предоставляет информацию о пользовательском агенте

например.

PHP

$info = get_browser(null, true);
echo json_encode($info);

Массив, предоставляемый get_browser, выглядит как

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Это, конечно, не является надежным решением, потому что вы можете изменить строку своего браузера, как хотите.