significa que niveles nivel filosofia ejemplos conocimiento javascript php browser owasp

javascript - que - niveles de conocimiento filosofia



Forma confiable de detectar navegador, versiĆ³n y plataforma en php (2)

He estado buscando una manera confiable de tener (al menos las menos oscuras):

  1. el nombre del navegador
  2. la versión
  3. y la plataforma (SO) en la que está
  4. tal vez más información, pero la información de 3 arriba es suficiente.

Quiero mostrar un contenido personalizado de acuerdo con esta información, por ejemplo:

Si el usuario quiere saber cómo borrar las cookies en su navegador. Digamos que tengo muchos contenidos ya disponibles para muchos navegadores. versiones Y quiero cargar el contenido apropiado automáticamente

¿Hay alguna manera de no incluir Javascript para obtener estos valores?

Tengo casos de uso donde no se encuentra el navegador o es inexacto. Entonces me gustaría tener la solución más confiable.

Aquí hay 2 sitios web que hacen exactamente lo que necesito:

  1. www.whatismybrowser.com (se contactó con el propietario para saber cómo hacerlo en PHP)
  2. HawkBrowser realmente exhaustiva, no gratuita

Otro enlace con soluciones parciales:

  1. upgrademybrowser.org con el viejo browsercap de agosto de 2012 ( source )
  2. Google www.whatbrowser.org

Pasé muchos días intentando, buscando, pero sin éxito. Encontré muchas sugerencias de la comunidad de Stackoverflow:

  1. browsercap con get_browser (). el proyecto se suspendió (por ahora 8 de agosto de 2012) y no detecta ningún dispositivo de mano popular moderno.
  2. Enfoque de función de detección de Javascript: Modernirz . No es un buen enfoque para lo que quiero hacer, a largo y tendrá que actualizarse a menudo.
  3. jQuery.browser No es lo suficientemente bueno, no hay suficiente posibilidad.
  4. javascript de quirksmode.org y no es preciso con el móvil por el momento y preferiría la versión de PHP.

Otros enlaces útiles:

  1. Stakoverflow Respuesta 1
  2. Stackoverflow Answer 2
  3. Detección móvil PHP
  4. PIWIK analíticos PIWIK

EDIT 1 Hasta ahora he probado las respuestas y los comentarios. Estas soluciones son muy satisfactorias:

  • La detección de la última versión de PHP móvil es realmente buena, si está utilizando esto sería bueno darle al cliente el formulario en el ejemplo para que puedan contribuir al proyecto. (gracias a @Pekka)
  • WURFL menos reciente pero muy bueno también. (gracias a @Ian Roberts)

    EDIT 2 PHP mobile detect usa WURFL

ACTUALIZAR

Asegúrese de que el encabezado que recibe no sea modificado por ninguna otra biblioteca.

Por ejemplo, algunas bibliotecas de seguridad como OWASP PhpSec [ABANDONADO] cambian la estructura del encabezado en un objeto personalizado y la detección móvil PHP ya no tiene acceso a toda la información que necesita.

Para aquellos de ustedes que usan OWASP PhpSec [ABANDONADO] la biblioteca http está modificando la estructura del objeto del encabezado global. (Diciembre de 2013) Por lo tanto, si tiene problemas simplemente use PHP mobile detect antes de incluir cualquier clase OWASP PhpSec utilizando la biblioteca http


¿Has considerado WURFL ? Su objetivo principal es clasificar los navegadores de dispositivos móviles, pero afirma tener un modo que también identifica los de escritorio.


La información del navegador en PHP que obtienes de get_browser ()

para que pueda usar una llamada Ajax al sitio PHP, proporciona información sobre el agente usuario

p.ej

PHP

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

La matriz proporcionada por get_browser se parece a

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] => )

Por supuesto, esto no es una solución confiable porque puedes cambiar la cadena de tu navegador como quieras.