Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Intentar reconocer al cliente o navegador

Hola,

Llevo unos días trabajando o perdiendo el tiempo, no lo sé bien, con cierto proyecto, con cierta clase capaz de reconocer el cliente o navegador del usuario desde nuestros "scripts" PHP. El caso es que algo he avanzado, mas, sin embargo, necesito que alguien me diga que algo así tiene más o menos futuro, que merece la pena ser "continuado", o, realmente, no merece la pena. Cualquier palabra, crítica, sugerencia, comentario, idea, lo que sea, será bienvenida, como no podía ser de otro modo, y, especialmente, por cuanto me estoy comiendo el coco con este asunto tal vez demasiado, tal vez sin sentido.

Adjunto lo que he hecho hasta ahora. Será necesario que contéis con PHP 5 si queréis "probarlo", aunque, en todo caso podréis echar un vistazo y opinar sobre eso. Por otro lado, desde este enlace (temporal, no lo mantendré ahí para siempre, me temo), podéis también ver a "BrowserInfo" funcionando, es decir, en teoría tendríais que poder ver los datos de vuestro navegador, o algunos apróximados... Bueno, pataliebres, espero vuestros comentarios, de verdad, porque no sé si es un churro lo que me traigo entre manos, si podría quizás pensarse en utlizarlo, en fin, que estoy hecho un lío.

PD. Huelga decir que la clase "BrowserInfo" (principal en todo esto) no está acabada, y que aún contaría con más métodos, y hasta habría que quitar alguno de los actuales, pero, lo "básico" sí que está ya ahí, es decir, la especie de "base de datos" con los "identificadores" de los clientes, y, tratar de sacar la información a partir de ahí, desde el "agente de usuario" correspondiente. Faltan seguro algunas cosas, pero, precisamente, lo que me planteo es si merece la pena seguir, si está bien planteado el asunto, si me paso, si no llego, etc. Lo que sea que se os ocurra será bienvenido, ya digo. ¡Muchas gracias!
Archivos Adjuntos
Tipo de Archivo: zip BrowserInfo.zip (12,1 KB, 8 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2008 a las 18:27:12.
Responder Con Cita
  #2  
Antiguo 05-09-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Esto es lo que me puso a mi:
Cita:
BrowserInfo Object
(
[osrivate] => Windows
[namerivate] => Firefox
[typerivate] => PC
[familyrivate] => GECKO
[versionrivate] => 2.0.0.16
[userAgentrivate] => Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.0.16
[compatibilityrivate] => Mozilla
)
No se si te servira de algo?.
Si es la informacion de mi equipo no lo se, lo unico que si reconozco es que navego con Mozilla.
Por cierto: Que sera GECKO ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 05-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola

Cita:

BrowserInfo Object
(
[os:private] => Windows
[name:private] => Opera
[type:private] => PC
[family:private] => OPERA
[version:private] => 9.52
[userAgent:private] => Opera/9.52 (Windows NT 5.1; U; en)
[compatibility:private] => Unknown
)
Habrá que revisar la compatibilidad

Por otro lado, antes de decir si es oscioso o nó, pues mas bien que utilidad tiene esto que haces amigo,

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que os "sale" es, supuestamente, información sobre vuestro navegador, el que estáis utilizando. Respecto de la utilidad, ¡pues ahí está la madre del cordero! ¿Reconoce los navegadores más "populares"? Yo diría que sí... poco más o menos... ahora bien, se supone que habría de poder reconocer muchos otros navegadores, "televisores", teléfonos móviles, consolas de vídeo juegos, en fin... quizá es demasiado, quizá no merece la pena "tanto" para saber si te visitan con Firefox o no...

En todo caso gracias por vuestras opiniones. Egostar, eso de la compatibilidad... pues la cosa es que hasta ahora se busca "MSIE" y "Mozilla"... y en tu "agente de usuario" no pone nada de eso. ¿Igual tendría que incluir además "Opera" en la "compatibilidad? Chico, estoy más perdido que un pato mareado en un garaje donde un pingüino le mira de hito en hito y una cebra está ahí, sin hacer nada... sospechosamente...

Más que nada vuestra opinión sobre si está bien planteado el asunto, o, directamente, os parece poco menos que una burrada.

Se me olvidaba... Egostar, la utilidad podría ser, por ejemplo, poder reconocer si el cliente o navegador es un dispositivo móvil, para, siendo así, tomar las medidas oportunas. Pero, yendo un poco más allá, el asunto pasa por poder reconocer un determinado cliente o navegador, para, de esta forma, poder actuar de una forma u otra.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-09-2008 a las 19:40:01.
Responder Con Cita
  #5  
Antiguo 05-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por dec Ver Mensaje
Más que nada vuestra opinión sobre si está bien planteado el asunto, o, directamente, os parece poco menos que una burrada.

Se me olvidaba... Egostar, la utilidad podría ser, por ejemplo, poder reconocer si el cliente o navegador es un dispositivo móvil, para, siendo así, tomar las medidas oportunas. Pero, yendo un poco más allá, el asunto pasa por poder reconocer un determinado cliente o navegador, para, de esta forma, poder actuar de una forma u otra.
Me parece que no es una burrada, viendo la utilidad podriamos hacer una agencia de espionaje (perdón he dicho espionaje???? ) quise decir de investigación de mercado

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 05-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Por cierto: Que sera GECKO ?.
Saludos
Hola... GECKO es el motor de renderizado de páginas web que usa Firefox para mostrar las páginas web...

En otras palabras, es quien se encarga de dibujar lo que ves en tu navegador...


Saludos...
Responder Con Cita
  #7  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Gracias Egostar. Esperemos a otros compañeros a ver qué dicen.

Maeyanes, ¿acertó contigo o te dijo que estabas navegando con un Spectrum? ¿Navegas con un Spectrum?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #8  
Antiguo 05-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por dec Ver Mensaje
Hola,

Gracias Egostar. Esperemos a otros compañeros a ver qué dicen.

Maeyanes, ¿acertó contigo o te dijo que estabas navegando con un Spectrum? ¿Navegas con un Spectrum?
Esto es lo que me contestó:

Código:
BrowserInfo Object
(
    [os:private] => Windows
    [name:private] => MS Explorer
    [type:private] => PC
    [family:private] => MSIE
    [version:private] => 7.0
    [userAgent:private] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 
      FDM; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; 
      MAXTHON 2.0)
    [compatibility:private] => Mozilla
)



Saludos...
Responder Con Cita
  #9  
Antiguo 05-09-2008
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 18
felipe88 Va por buen camino
Hey amigo, entonces cuida tu idea... no sea que google te la quite para mirar las estadisticas de quienes estan usando su Chrome en sus páginas, como dice Eliseo, eso si seria espionage
__________________
Web
Responder Con Cita
  #10  
Antiguo 05-09-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Cita:
BrowserInfo Object
(
[osrivate] => Windows
[namerivate] => Firefox
[typerivate] => PC
[familyrivate] => GECKO
[versionrivate] => 3.0.1
[userAgentrivate] => Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
[compatibilityrivate] => Mozilla
)
Pues ha acertado perfectamente amigo Dec .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #11  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Veo que al menos con los navegadores "habituales" más o menos va bien. Me interesaría saber si os parece que tal y como se conforma la "base de datos" (en realidad un "Array" de PHP) es demasiado cutre, o, por el contrario, una idea más o menos acertada.

También, a los que usáis PHP, os pregunto, si os sería útil esto... si alguna vez necesitáisteis de algo así (que lo hay, no invento nada, por supuesto) y qué es lo que usáisteis entonces, en fin, que me digáis algo, leñe.

¡Gracias a todos!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #12  
Antiguo 05-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código:
BrowserInfo Object
(
    [os:private] => Windows
    [name:private] => Google Chrome
    [type:private] => PC
    [family:private] => WEBKIT
    [version:private] => 0.2.149.27
    [userAgent:private] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
    [compatibility:private] => Mozilla
)




¿Has probado get_browser en conjunto con browscap.ini?

// Saludos
Responder Con Cita
  #13  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues algo he leído Román, pero, no sé si lo suficiente. Y es que se me ocurre que algo así sería ideal, pero, ¿de dónde sale el "browsecap.ini"? ¿Todos los navegadores cuentan con algo así? Mejor dicho... ¿Cuántos navegadores cuentan con algo así? ¿Por qué las soluciones que he visto, similares a la "mía", hacen algo parecido a lo que yo hago y no usan el "browsecap.ini"? Hum... ¿qué decís?

Román, ¿te parece un código demasiado rebuscado? Porque además va a haber que hacer alguna que otra filigrana, por ejempo, ¿cómo averiguas que un navegador soporta el "AJAX" famoso? Me temo que habría que comprobar si se trata de este o aquél navegador, o de unos cuantos... de sus versiones... por eso digo que esto me supera: por un lado me parece una chapuza, pero, por otro lado, parece que medio funciona...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #14  
Antiguo 05-09-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Google Chrome:
Código:
BrowserInfo Object
(
    [os:private] => Windows
    [name:private] => Google Chrome
    [type:private] => PC
    [family:private] => WEBKIT
    [version:private] => 0.2.149.27
    [userAgent:private] => Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
    [compatibility:private] => Mozilla
)
Lynx para DOS:

Código:
BrowserInfo Object
(
    [os:private] => Unknown
    [name:private] => Lynx
    [type:private] => PC
    [family:private] => TEXT
    [version:private] => 2.8.2rel.1
    [userAgent:private] => Lynx/2.8.2rel.1 libwww-FM/2.14FM
    [compatibility:private] => Unknown
)
Hola,

Siempre me han gustado los detectores de navegadores, principalmente aquellos que están en widgets incrustados en blogs o firmas de foristas, ya que intentan mostrar que "se está vigilando".

Me gusta la idea de dec, de encapsular esto en una(s) clase(s)... supondría que, para su reuso (y qué tal en una versión WebService? jeje).

Hace ya varios años, tuve que implementar alguna rutina para esta detección en mi proyecto de grado de Ingeniería, en la que tenía que prestar atención especial a los navegadores de dispositivos móviles... y de esa anécdota, mi recomendacion:

Para saber si tiene "futuro" esta utilidad, podría enfocarse en incluir funcionalidades que no se vean fácilmente en desarrollos abiertos:
  • Soporte generalizado para "otros" dispositivos, por ejemplo, usando RDF (con UAProf, o similares) en lugar de regexps, bases de datos locales (desactualizadas) o qué se yo
    -
  • Presentando scripts orientados al navegador ya detectado, para conocer cosas como: sus versiones exactas y si están desactualizadas, plugins/complementos/add-ons instalados, idioma, etc.
    -
__________________
"constructive mind, destructive thoughts"

Última edición por TOPX fecha: 05-09-2008 a las 20:51:55.
Responder Con Cita
  #15  
Antiguo 05-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
Hola,
Pues algo he leído Román, pero, no sé si lo suficiente. Y es que se me ocurre que algo así sería ideal, pero, ¿de dónde sale el "browsecap.ini"? ¿Todos los navegadores cuentan con algo así? Mejor dicho... ¿Cuántos navegadores cuentan con algo así? ¿Por qué las soluciones que he visto, similares a la "mía", hacen algo parecido a lo que yo hago y no usan el "browsecap.ini"? Hum... ¿qué decís?
Hasta donde veo, siempre y cuando tengas acceso al php.ini, tú mismo puedes colocar el browsecap.ini. En el enlace a la página del manual, se cita una fuente de dónde descargar las últimas versiones (yo lo acabo de probar así). Supongo que este browscap equivaldría a tu base de datos.

Cita:
Empezado por dec Ver Mensaje
Román, ¿te parece un código demasiado rebuscado? Porque además va a haber que hacer alguna que otra filigrana, por ejempo, ¿cómo averiguas que un navegador soporta el "AJAX" famoso? Me temo que habría que comprobar si se trata de este o aquél navegador, o de unos cuantos... de sus versiones... por eso digo que esto me supera: por un lado me parece una chapuza, pero, por otro lado, parece que medio funciona...
A decir verdad, no he examinado el código más que por encima, de manera que poco puedo decir. Si tengo tiempo, lo haré el fin de semana.

// Saludos
Responder Con Cita
  #16  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Gracias TOPX. La verdad es que me pierdo un poco. Lo que sí me parece buena idea es apurar un poco más una vez se detecte un navegador. Hacer como una especie de "segunda pasada" sobre la cadena del "agente de usuario" y tratar de conseguir más información de ahí. Pero, en parte esto ya se hace, obteniendo la versión, el sistema operativo, la "compatibilidad"...

El problema es que no hay ninguna uniformidad en las cadenas identificativas de los agentes de usuario: de ahí el uso de expresiones regulares, porque, buscar por las cadenas sería una locura, al menos hasta donde yo llego. Yo he trabajado sobre la información que recopila Zytrax.com, pero, me temo que la "base de datos" actual puede mejorarse mucho, sobre todo en lo que a las expresiones regulares se refiere, en primer lugar, y luego que no sé hasta qué punto no tardaría en quedarse desactualizada.

A mí lo que realmente me preocupa es lo siguiente, y soy totalmente sincero: no puede ser que si fuera necesario algo así no existiese ya. O bien no existe porque es una locura intentar algo así, dado que cada agente de usuario (pasado, presente y futuro) va un poco a su bola, o bien no es necesario algo de ese "tamaño", sino que bastaría con identificar si un navegador es un "móvil", por ejemplo, con cierta fiabilidad, importando bien poco si se trata de otra cualquier cosa.

No sé... tengo la sensación de que he perdido el tiempo, pero, bueno, lo doy por bien empleado, en el sentido de que me conformo con reconocer esto: lo prefiero a seguir en mis trece, si mis trece no van a ningún lado...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #17  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Holas,

No había visto la posibilidad de descargar "browsecap.ini" Román, estoy mirándolo ahora mismo, pero,... eso tiene muy, muy buena pinta... ¿cómo no lo he visto "usado" en ninguna aplicación de PHP? Hay un archivo que por lo visto contiene más de 80.000 agentes de usuario? Definitivamente... no es cuestión de reconocer un navegador entre un millón, sino de ver qué nos interesa a nosotros en concreto... ¿es Firefox? ¿soporta AJAX? ¿es un móvil? Más allá de eso, saber qué navegador es uno entre un millón... igual no tiene mucho sentido... ¿no os parece?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #18  
Antiguo 05-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Echando un vistazo a los "browsecap.ini", al que recomiendan descargar "para todos los websites", veo que lo que yo estaba tratando de hacer no tiene ningún sentido en absoluto. De verdad, reconozco ahora mi error y me tiro de los pelos por no haber leído mejor el manual de PHP sobre esta cuestión. El "browsecap.ini" que he descargado incorpora dispositivos móviles... y otros cientos de navegadores. Combinado con la función de PHP "get_browser"... es cuestión de hacer pruebas, pero, parece desde luego lo más apropiado.

Ahora sí, abandono definitivamente lo que estaba haciendo. Gracias Román. Gracias a todos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #19  
Antiguo 05-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
¿cómo no lo he visto "usado" en ninguna aplicación de PHP?
Quizá porque no todos pueden hacer cambios en php.ini (hay que apuntar la directiva browscap). Pero si ése fuera el caso, aún podrías usar ese archivo (incluso descargarlo en automático) para "alimentar" tu propia clase en lugar de la base que ahora usas.

// Saludos
Responder Con Cita
  #20  
Antiguo 05-09-2008
Avatar de TOPX
TOPX TOPX is offline
Miembro
 
Registrado: may 2008
Ubicación: Bogotá
Posts: 527
Poder: 17
TOPX Va camino a la fama
Cita:
Empezado por dec Ver Mensaje
[sic] no puede ser que si fuera necesario algo así no existiese ya.
Tal vez ya existe o tal vez tenga Ud. la oportunidad de un millón de dólares, que genere la necesidad desde ya. Pues, si la idea se sigue desarrollando, sobrepasaría esa preocupación de la desactualización de la base de datos de browsers y las limitaciones de la interpretación de los nombres de SOs y demás.

Cita:
Empezado por dec Ver Mensaje
No sé... tengo la sensación de que he perdido el tiempo [sic]
Yo opino que la iniciativa es un excelente caldo de cultivo para implementar funcionalidades "novedosas" y "competitivas".

Ahora, le dí una revisadita a:

http://browsershots.org/http://www.d...m/browserinfo/

... y las capturas de pantallas que ha generado, se ven que funciona muy bien
__________________
"constructive mind, destructive thoughts"
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas al intentar conectarme desde el cliente al servidor de firebird El_Chava Firebird e Interbase 2 22-04-2008 00:45:41
Reconocer Firebird en dbExpress Jad Conexión con bases de datos 4 11-01-2008 19:19:45
reconocer sonido ebeltete Varios 0 06-06-2006 01:05:11
Reconocer si la consulta no dio resultados La__X SQL 1 28-04-2006 21:15:03
reconocer todos los comandos de SQL M@rcos SQL 3 30-06-2003 12:20:02


La franja horaria es GMT +2. Ahora son las 10:23:56.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi