Foros del Web » Programando para Internet » PHP »

controlar que se ha pasado antes por el formulario

Estas en el tema de controlar que se ha pasado antes por el formulario en el foro de PHP en Foros del Web. Hola a todos. Tengo una aplicación en PHP-MySQL que se utiliza para el mantenimiento de una base de datos de inventario de equipos, es decir, ...
  #1 (permalink)  
Antiguo 10/11/2009, 02:59
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 9 meses
Puntos: 1
controlar que se ha pasado antes por el formulario

Hola a todos. Tengo una aplicación en PHP-MySQL que se utiliza para el mantenimiento de una base de datos de inventario de equipos, es decir, insertar, modificar, eliminar, ...

El caso es que tengo un script en php que es un formulario, donde se rellenan los datos del equipo a insertar, y otro script diferente que realiza la inserción. El caso es que en el script del formulario controlo que los campos tengan el formato correcto antes de enviarlo (mediante Javascript). Por supuesto, en el script de inserción no vuelvo a controlar que los datos son correctos, porque se supone que ya han sido comprobados antes de enviar el formulario. El caso es que, cualquier usuario con un poco de conocimiento podría llamar directamente al script de inserción pasando los parámetros en el formato que le dé la gana sin haber pasado antes por el formulario de inserción.

¿Habría alguna manera de controlar en el script de inserción, que se ha pasado antes por el formulario y se ha llevado a cabo la comprobación?

Yo había pensado en guardar alguna variable de sesión antes de enviar el formulario y después de que se lleva a cabo la comprobación de éste. Esto lo haría mediante Javascript, llamando a una función PHP (con Ajax) que guardase una variable de sesión. Después en el script de inserción, se comprobaría si dicha variable de sesión está definida antes de llevar a cabo la inserción.

¿Les parece bien está práctica? ¿Conocen alguna manera mejor y más sencilla de hacerlo?

Gracias por vuestras respuestas.
  #2 (permalink)  
Antiguo 10/11/2009, 03:32
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: controlar que se ha pasado antes por el formulario

Hay que validar siempre en PHP, si yo desactivo Javascript en mi navegador me salto la validación sin ninguna dificultad. No puedes limitarte sólo a una validación en Javascript, por lo que en la página que recibes el formulario debes validar con PHP los datos que te han llegado.

Saludos
  #3 (permalink)  
Antiguo 10/11/2009, 03:56
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: controlar que se ha pasado antes por el formulario

Cita:
Iniciado por joanmanson Ver Mensaje
Yo había pensado en guardar alguna variable de sesión antes de enviar el formulario y después de que se lleva a cabo la comprobación de éste. Esto lo haría mediante Javascript, llamando a una función PHP (con Ajax) que guardase una variable de sesión. Después en el script de inserción, se comprobaría si dicha variable de sesión está definida antes de llevar a cabo la inserción.

¿Les parece bien está práctica? ¿Conocen alguna manera mejor y más sencilla de hacerlo?
A mi me parece que sería trabajar por trabajar. Mucho follón, y sigues teniendo el problema de la comprobación usando Javascript.

Lo correcto pienso que es hacer la comprobación de datos una vez enviado el formulario, si todo está bien, pues que PHP haga lo que tenga que hacer, y en caso contrario, volver a mostrar el formulario mostrando los errores que se hayan cometido.
  #4 (permalink)  
Antiguo 10/11/2009, 04:36
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: controlar que se ha pasado antes por el formulario

El caso es que, el que se tenga Javascript activado es necesario para el correcto funcionamiento de la aplicación. Si no, no van a funcionar ni los menús. De hecho, habrá formularios que ni se podrán rellenar porque hay listas desplegables que según el valor elegido, rellenan otras listas con otros valores recuperados de la base de datos mediante AJAX.

La comprobación la hago en el formulario para no sobrecargar de peticiones el servidor con cada petición/error.

No sé, lo de comprobar los valores en PHP no me convence porque la aplicación ya está muy avanzada y habría que añadir muchas cosas.

De todas maneras, muchas gracias por haber respondido.
  #5 (permalink)  
Antiguo 10/11/2009, 11:50
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: controlar que se ha pasado antes por el formulario

Cita:
Yo había pensado en guardar alguna variable de sesión antes de enviar el formulario y después de que se lleva a cabo la comprobación de éste. Esto lo haría mediante Javascript, llamando a una función PHP (con Ajax) que guardase una variable de sesión. Después en el script de inserción, se comprobaría si dicha variable de sesión está definida antes de llevar a cabo la inserción.
Puedes hacer verificacion con PHP, controlando que sean validos y si con eso no te basta otra forma de validacion que se haya pasado por el formulario es $ SERVER["HTTP REFERER"]‎, con un if, si la pagina referente no es la del formulario, echo"No pasaste por el formulario";

Te recomiendo que no hagas comprobaciones javascript y que esas sean las unicas y principales, ya que son las mas faciles de burlar, en cambio las PHP no, ya que trabajan del lado del servidor. Yo muchas veces, con firebug saco una parte del codigo javascript y entonces tengo libertad de actuar y poner los valores que yo quiero en el input.
  #6 (permalink)  
Antiguo 11/11/2009, 04:58
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: controlar que se ha pasado antes por el formulario

Cita:
Iniciado por almagropaco_ Ver Mensaje
Yo muchas veces, con firebug saco una parte del codigo javascript y entonces tengo libertad de actuar y poner los valores que yo quiero en el input.
Si no lo he entendido mal, ¿me estás diciendo que con el firebug yo puedo quitar la parte del código Javascript que me apetezca?¿También se puede añadir nuevo código Javascript? ¿Me puedes explicar como se hace eso?
  #7 (permalink)  
Antiguo 11/11/2009, 06:15
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: controlar que se ha pasado antes por el formulario

Cita:
Iniciado por joanmanson Ver Mensaje
Si no lo he entendido mal, ¿me estás diciendo que con el firebug yo puedo quitar la parte del código Javascript que me apetezca?¿También se puede añadir nuevo código Javascript? ¿Me puedes explicar como se hace eso?
si es con motivo de aprender para hacer tu aplicacion mas segura estaria bueno que se lo explicara.

si es con motivo de hacer cosas malas no le expliquen nada -.-


sobre el tema, con javascript no tenes que hacer nada de comprobacion ya que como te dijeron arriba con firebug se puede burlar facilmente, de ultima hacelo y despues valida en otra pagina con php, es decir, 2 validaciones. (Mas vale prevenir que lamentar).
  #8 (permalink)  
Antiguo 11/11/2009, 07:42
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: controlar que se ha pasado antes por el formulario

Cita:
Iniciado por joanmanson Ver Mensaje
Si no lo he entendido mal, ¿me estás diciendo que con el firebug yo puedo quitar la parte del código Javascript que me apetezca?¿También se puede añadir nuevo código Javascript? ¿Me puedes explicar como se hace eso?
Puedes editar todo lo que quieras con firebug, tanto añadir como eliminar.

Y el mecanismo de hacerlo, pues abriendo firebug y haciendo click en el ícono de firebug, y le das a HTML (al lado de consola) aunque creo que se abre por defecto. Además, puedes también cambiar archivos CSS, según le das a un elemento te salen al lado todas las reglas de CSS que tengan en los archivos CSS en relación al elemento, y ahí lo mismo, puedes editar lo que quieras.
  #9 (permalink)  
Antiguo 11/11/2009, 07:50
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: controlar que se ha pasado antes por el formulario

¿y tu kien te crees que eres para decir a los demás lo que tienen o no tienen que hacer?

Si quiero que me lo expliquen es para saber si realmente se puede hacer y si soy capaz de burlar la seguridad de mi propia aplicación con el firebug. Si es así, valdría la pena replantearse el hacer toda la comprobación en PHP.

Si te ha parecido que por la pregunta parecia demasiado ansioso, es porque es una cosa que no tenía ni idea de que se pudiera hacer y no para que me lo enseñen e ir jodiendo a los demás. Tengo cosas más importantes que hacer que ir burlando al seguridad de otros sitios web.
  #10 (permalink)  
Antiguo 11/11/2009, 07:56
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: controlar que se ha pasado antes por el formulario

Si que es verdad que se puede hacer. Ya la he jodido. Menudo trabajo que me espera.
Gracias a todos.
  #11 (permalink)  
Antiguo 12/11/2009, 09:25
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: controlar que se ha pasado antes por el formulario

No es novedad del firebug, si yo copio el codigo fuente y lo ejecuto desde mi pagina, lo manipulo como quiero... Las comprobaciones con PHP son mas eficientes y no tan burlables como las de javascript ya que trabajan del lado del servidor y no del lado del cliente como javascript.
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




La zona horaria es GMT -6. Ahora son las 22:28.