elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:49  


Tema destacado: ¡Aprende hacking con práctica! - WarZone, el wargame de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Saber si javascript está activado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saber si javascript está activado  (Leído 1,205 veces)
karmany


Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Saber si javascript está activado
« en: 7 Enero 2012, 23:53 »

Hola!

He buscado en muchos sitios en la red y no encuentro una forma adecuada de saber desde PHP,  si un navegador tiene activado javascript (que no instalado).

¿Alguien conoce alguna forma adecuada?

PD. A ver si es posible solo desde PHP, no ejecutando algo directamente desde javascript.

Gracias


En línea

- "Tu sitio para aprender, enseñar y compartir"
madpitbull_99
Moderador Global
***
Desconectado Desconectado

Mensajes: 1.898



Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #1 en: 8 Enero 2012, 11:34 »

Podrías mirar en las cabeceras HTTP, aunque no es una opción muy certera.

O con la función get_browser():

Código
$results = get_browser();
if ($results["javascript"] == 1) {
echo "JS Soportado!";
}

El código de arriba sólo detecta si el navegador soporta JS, no si está activado.

La respuesta corta, es que en principio no puedes hacerlo sólo con PHP (está estrictamente ligado al server-side), lo que podrías hacer:

- Crear una cookie con JS.
- Comprobar desde PHP si esa cookie existe, si existe, es que JS está activado.

O la opción más sencilla, hacerlo todo con javascript xD.


En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
karmany


Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: Saber si javascript está activado
« Respuesta #2 en: 8 Enero 2012, 12:06 »

Agradezco tu respuesta madpitbull_99.
La verdad que he buscado mucho.

Tal vez la solución sea desde PHP llamar a una función de javascript y verificar el resultado.
Gracias
En línea

- "Tu sitio para aprender, enseñar y compartir"
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #3 en: 8 Enero 2012, 18:33 »

Tal vez la solución sea desde PHP llamar a una función de javascript y verificar el resultado.
No sería lo mismo que hacerla directamente desde JS?
En línea

---
karmany


Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: Saber si javascript está activado
« Respuesta #4 en: 8 Enero 2012, 20:07 »

No sería lo mismo que hacerla directamente desde JS?

No porque por ejemplo y para entenderlo tengo un botón.
PHP lo muestra en pantalla y javascript ejecuta el código al pulsar el botón. Si un usuario tiene desactivado javascript, PHP sigue mostrando el botón aunque no haga nada.

madpitbull_99 me ha dado una idea y voy a llamar desde PHP a una simple función en javascript (un simple echo) y dependiendo del resultado estará o no activado javascript.
En línea

- "Tu sitio para aprender, enseñar y compartir"
raul338


Conectado Conectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Saber si javascript está activado
« Respuesta #5 en: 8 Enero 2012, 20:11 »

Prueba una llamada con AJAX :P
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 954



Ver Perfil
Re: Saber si javascript está activado
« Respuesta #6 en: 8 Enero 2012, 22:51 »

@madpitbull_99, la idea de la cookie es buena, incluso yo estaba pensando lo mismo pero si la analiza bien, no es muy buena idea. Ya que en la peticiones puedes mandar la cookie que verifica si el navegador soporta javascript, ese seria el bypass.

De todas las soluciones, yo creo que la mejor es la que plantea @madpitbull_99, la de la funcion get_browser(). Pero igual se puede hacer el bypass, ya que la información la obtiene mediante los datos que envia el navegador al cliente. Yo pienso que cualquier verificación de existencia de javascript, se le podría hacer un bypass, simplemente porque javascript se ejecuta del lado del cliente y mediante PHP puedes similar exactamente cualquier cosa que realiza el navegador.

Igual si es para comprobar si el usuario tiene javascript activado, para usar codigo javascript, la mejor opcion es usar get_browser(), así evita complicaciones, haces todo desde php, evitas combinar PHP e javascript y obtiene un mejor performance XD.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines