elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Detectar TODOS los IE
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Detectar TODOS los IE  (Leído 2,934 veces)
bavo08

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Detectar TODOS los IE
« en: 29 Octubre 2014, 15:43 pm »

Estimados,

No se si muchos están informados pero IE11 hasta hace poco ocultaba su metadata, quería consultar si existe algún método infalible para detectar un navegador Internet Explorer en cualquiera de sus versiones con PHP.

Mil gracias!


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #1 en: 29 Octubre 2014, 16:00 pm »

ocultaba su metadata?

el useragent siempre se pasa por seguridad... una conexion sin useragent puedes bloquearla con tranquilidad

de todas formas la tecnica que buscas es browser fingerprinting

aquí un ejemplo basado en los codigos de error
http://c22.cc/POC/fingerprint.html

lo que hace es pasar un jscript con un codigo de respuesta diferente y ver cual corre...

si el jscript con el response code 205 corre es ie

igual puedes buscar más en google sobre esto


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
bavo08

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #2 en: 29 Octubre 2014, 16:09 pm »

ocultaba su metadata?

el useragent siempre se pasa por seguridad... una conexion sin useragent puedes bloquearla con tranquilidad

de todas formas la tecnica que buscas es browser fingerprinting

aquí un ejemplo basado en los codigos de error
http://c22.cc/POC/fingerprint.html

lo que hace es pasar un jscript con un codigo de respuesta diferente y ver cual corre...

si el jscript con el response code 205 corre es ie

igual puedes buscar más en google sobre esto

Perdón, me equivoqué de término, "useragent", está bueno lo que me pasaste, pero corre a nivel cliente, ¿existe alguna solución a nivel servidor que acepte también a IE11?

Sé que en google hay infinitas soluciones sobre este asunto a nivel servidor, la cuestión es alguna que admita todos los IE, inclusive, IE11 que no tenía useragent hasta hace poco.

Mil gracias por la pronta respuesta!
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #3 en: 29 Octubre 2014, 16:18 pm »

insisto el IE11 si tiene user agent, solo que se identifica con el nuevo motor que es "Trident" todas las conexiones sin user agent son descartables...

el nuevo useragent de IE11 es
Código:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

los fingerprinting en el 95% de los casos son desde cliente ya que no puedes saber que navegador es si no sabes como se comporta... ese codigo que te di lo puedes hacer un ajax y cargar la pagina en base a eso

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
bavo08

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #4 en: 29 Octubre 2014, 17:03 pm »

insisto el IE11 si tiene user agent, solo que se identifica con el nuevo motor que es "Trident" todas las conexiones sin user agent son descartables...

el nuevo useragent de IE11 es
Código:
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

los fingerprinting en el 95% de los casos son desde cliente ya que no puedes saber que navegador es si no sabes como se comporta... ese codigo que te di lo puedes hacer un ajax y cargar la pagina en base a eso



Tienes razón, toda la razón :D acabo de investigar un poco más y fue un error mio.
Mil gracias!
En línea

bavo08

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #5 en: 29 Octubre 2014, 17:56 pm »

Un pequeño aporte para no usar ajax:

Citar

         # Determinar si es IE
         if (preg_match('~MSIE|Internet Explorer~i', $_SERVER['HTTP_USER_AGENT']) || (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') !== false)) {
            $ie = "'1'";
         }else{
            $ie = "NULL";
         }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Detectar TODOS los IE
« Respuesta #6 en: 29 Octubre 2014, 18:08 pm »

claro! :P te recomiendo que te busques las tablas de user agent que hay en internet :P son muy utiles...

el ajax es para caso de fingerprinting como los que te digo :P

para el indicado antes es algo como

Código
  1. header("test",true,205);
  2. echo var es_ie = true;

y bueno en el html colocarlo en el head y en el body lo lees
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Detectar TODOS los IE
« Respuesta #7 en: 30 Octubre 2014, 16:09 pm »

El UA no es infalible, se puede spoofear de diversas formas. Podrias revisar si existen algunos elementos del DOM desde Jscript y luego decirle al servidor si es o no Internet Explorer, pero esto solo funciona para versiones viejas de IE me parece. Cada día IE se apega mas al estandard.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Detectar Web
Programación Visual Basic
3k1n0x 0 1,246 Último mensaje 6 Abril 2008, 17:22 pm
por 3k1n0x
Detectar si hay WMI (VB6)
Programación Visual Basic
s E t H 2 4,002 Último mensaje 27 Octubre 2008, 21:03 pm
por WestOn
[JAVA] Ayuda con algoritmo "Todos contra todos"
Java
[GB] 4 12,501 Último mensaje 8 Julio 2011, 01:09 am
por sabeeee
Fixture todos contra todos
Programación C/C++
Torino10 1 4,244 Último mensaje 7 Junio 2012, 08:41 am
por durasno
detectar obj
Programación Visual Basic
NiquitooX 1 2,337 Último mensaje 2 Marzo 2014, 23:18 pm
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines