Foros del Web » Programando para Internet » Javascript »

Obligar a permitir JavaScript

Estas en el tema de Obligar a permitir JavaScript en el foro de Javascript en Foros del Web. He desarrollado una aplicación PHP y utilizo validaciones JQuery, pero algunos usuarios tienen desactivado el JS y burlan la seguridad. ¿Como puedo validar si permiten ...
  #1 (permalink)  
Antiguo 05/06/2010, 22:27
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Obligar a permitir JavaScript

He desarrollado una aplicación PHP y utilizo validaciones JQuery, pero algunos usuarios tienen desactivado el JS y burlan la seguridad.

¿Como puedo validar si permiten JS? y en su caso no mostrarles información.

Gracias
  #2 (permalink)  
Antiguo 05/06/2010, 22:57
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Obligar a permitir JavaScript

¿obligar a un usuario habilitar javascript? lo unico que se me ocurre es hacer toda las funcionalidades a traves de javascript; es lo mismo que hace facebook.
Cita:
pero algunos usuarios tienen desactivado el JS y burlan la seguridad.
tendria que decirte que vas mal porque me haces entender que la unica validacion que tienes es la de lado cliente. evidentemente siempre debes hacer la validacion en el servidor, precisamente por el factor del javascript inhabilitado.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/06/2010, 23:25
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Obligar a permitir JavaScript

Infinitas gracias zerokilled, trataré de explicarme lo mejor que puedo:
  1. Como bien dices, tengo una serie de validaciones que impiden hacer lo no permitido.
  2. Algunos campos están validados por ejemplo para que sean numéricos, validación que realizo con JQuery.
  3. Si el usuario en vez de registrar numeros, registra letras, entonces el JQuery lo detecta y se lo indica al usuario a fin que lo registre adecuadamente.
  4. Algunos usuarios brincan la validación JQuery ya que no tienen activado el JS, lo cual por seguridad detecto posteriormente con PHP.
  5. Mi sistema es para usuarios cautivos y no se encuentra abierta al público (Es un ERP), por lo que puedo obligar a los usuarios a que tengan habilitado el aceptar J.S. con lo cual JQuery les ayuda a registrar adecuadamente su información.

Agradezco tus comentarios, pero me quedé igual, no me orientaste con una respuesta a mi pregunta.

Saludos
  #4 (permalink)  
Antiguo 05/06/2010, 23:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Obligar a permitir JavaScript

imaginate hacer las acciones predeterminadas de los elementos HTML pero a traves de javascript. por ejemplo, un boton submit de formulario seria equivalente a invocar el metodo submit desde javascript. por tanto, seria cuestion de crear un boton normal y asociarle un evento -tal como onclick- y que este invoque la funcion submit del formulario. otra forma seria crear un formulario falso. es decir, todos los controles estan presente (radios, checkboxes, campos, selects, lo que sea) pero los controles no estan dentro de un FORM. entonces los datos los envias por AJAX.

otro ejemplo, un enlace falso. o sea, un enlace que se redirige con javascript. se logra asignando una url a la propiedad location.href. y asi sucesivamente reemplazas las funcionalidades HTML con javascirpt.

eso aplicado con jquery... ni idea porque no estoy familiarizado con las librerias. quizas en el foro de frameworks te puedan orientar si esa forma tiene viabilidad con jquery.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 06/06/2010, 00:03
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 10 meses
Puntos: 21
Respuesta: Obligar a permitir JavaScript

Replanteo mi pregunta original:

Deseo identificar si el visitante a mi web tiene activado el aceptar JavaScript, y en caso de no aceptar JavaScript enviarlo a una página determinada.

¿Alguien podría decirme cual es el código al respecto o alguna orientación?

Gracias anticipadas.
  #6 (permalink)  
Antiguo 06/06/2010, 00:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Obligar a permitir JavaScript

desde javascript no puedes hacer nada. si en un principio esta inhabilitado, es obvio que mediante programacion no lo podras hacer. la solucion, aunque mala practica, es hacer una redireccion con un META REFRESH pero dentro de un elemento NOSCRIPT.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 06/06/2010, 00:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Obligar a permitir JavaScript

Hola:

Lo más sencillo que puedes hacer es usar un tag noscript para avisar, y tal vez un meta de redirección... aunque para borrar ese meta tal vez haya que rebuscar un poco la forma de hacerlo con el DOM, ya que por lo visto no admite el atributo id...

O sea si tienes un meta refresh y javascript activo, simplemente borrar ese meta con el DOM...

Creo que es dar más vueltas de lo aconsejable

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 06/06/2010, 00:47
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Obligar a permitir JavaScript

@caricatos,
¿que tal, maestro? segun el XHTML DTD Strict, el elemento META admite el atributo id. en todo caso, si hablamos de crear un documento valido... los META solo pueden ir dentro de HEAD y dentro de HEAD no se admite NOSCRIPT.

la opcion de eliminar el META supongo que debe funcionar, solo que debe haber un tiempo considerable antes de hacer la redireccion.

@edit,
haciendo prueba en local, resulta ser que -al menos en chrome y firefox- eliminando el elemento META no tiene efecto. es como si la instruccion META REFRESH estuviera explicitamente presente en la respuesta HTTP (http response). en iexplorer8 en lugar de redireccionar al nuevo documento se mantiene cargando el mismo documento. recalco, la prueba la hice en local. en conclusion, la alternativa de eleminar META por DOM no es una opcion.

cada vez se aprende algo nuevo... no pense que ese fuera el resultado.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 06/06/2010 a las 01:12 Razón: compartir resultados
  #9 (permalink)  
Antiguo 06/06/2010, 01:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Obligar a permitir JavaScript

Hola:

Cita:
Iniciado por zerokilled Ver Mensaje
@caricatos,
¿que tal, maestro? segun el XHTML DTD Strict, el elemento META admite el atributo id. en todo caso, si hablamos de crear un documento valido... los META solo pueden ir dentro de HEAD y dentro de HEAD no se admite NOSCRIPT.

la opcion de eliminar el META supongo que debe funcionar, solo que debe haber un tiempo considerable antes de hacer la redireccion.
Normalmente me fijo en una recopilación que hice de Etiquetas, atributos, estilos y eventos de HTML 4.01, y no me extraña que en otras versiones se admita (lo que realmente me extraña es que HTML no lo admita):


id: Todos los elementos excepto BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE

Pero al menos mi planteamiento es usar noscript como advertencia, y por consiguiente en el body, y el meta en el head, como cualquier meta, y si sirve el id, el código simplificado sería:

window.onload = function() {
ref = document.getElementById("refresco");// refresco = id del meta
ref.parentNode.removeChild(ref);
}

Evidentemente sin el id, sería bastante más complejo este código...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 06/06/2010, 01:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Obligar a permitir JavaScript

Cita:
Iniciado por zerokilled Ver Mensaje
...
@edit,
haciendo prueba en local, resulta ser que -al menos en chrome y firefox- eliminando el elemento META no tiene efecto. es como si la instruccion META REFRESH estuviera explicitamente presente en la respuesta HTTP (http response). en iexplorer8 en lugar de redireccionar al nuevo documento se mantiene cargando el mismo documento. recalco, la prueba la hice en local. en conclusion, la alternativa de eleminar META por DOM no es una opcion.

cada vez se aprende algo nuevo... no pense que ese fuera el resultado.
¡Interesante!... yo no llegué a probarlo... más a nuestro favor. Aconsejar trucos por "cabezonería", conlleva más riesgo de que fallen las cosas

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 06/06/2010, 01:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Obligar a permitir JavaScript

Cita:
Normalmente me fijo en una recopilación que hice de Etiquetas, atributos, estilos y eventos de HTML 4.01, y no me extraña que en otras versiones se admita (lo que realmente me extraña es que HTML no lo admita):
pues sabes, yo siempre pense que HTML DTD Strict y HTML DTD Loose eran una compatilidad en degradacion (backward compatibility) del XHTML. quiero decir, que todo lo que tiene el XHTML lo tiene HTML. ya veo que incluso el XHTML le agregaron cosas que algunos elementos HTML no tienen. personalmente a mi me resulta interesante, quizas porque me acostumbre a revisar solo los XHTML DTD.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: permitir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:27.