Foros del Web » Programando para Internet » PHP »

Evitar "update" desde un formulario externo

Estas en el tema de Evitar "update" desde un formulario externo en el foro de PHP en Foros del Web. Estoy creando un sitio donde los usuarios pueden modificar las preferencias de su perfil, y pongo algunas restricciones como por ejemplo los colores del perfil. ...
  #1 (permalink)  
Antiguo 03/11/2009, 15:33
Avatar de KuKoRo  
Fecha de Ingreso: julio-2009
Mensajes: 38
Antigüedad: 15 años, 4 meses
Puntos: 2
Pregunta Evitar "update" desde un formulario externo

Estoy creando un sitio donde los usuarios pueden modificar las preferencias de su perfil, y pongo algunas restricciones como por ejemplo los colores del perfil. "El color de fondo no puede ser igual al de texto." Tengo funciones en JavaScript para validar eso, lo que yo he pensado es que si un usuario guarda ese formulario en su PC y lo ejecuta pero sin pasar por esa validacion podra poner el fondo y texto del mismo color. Eso es una especie de "hack" muy basico que en MetroFlog estaba siendo muy usado.

Lo que me gustaria saber es como puedo evitar que hagan un "update" a mi archivo PHP y DB si no es desde el formulario de mi web.

Gracias.!
  #2 (permalink)  
Antiguo 03/11/2009, 15:40
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Evitar "update" desde un formulario externo

amm pues tu pregunta no me parece muy correcta, debido a que deberian tener el codigo fuente PHP para poder realizar ese proceso recorda que html es lado cliente, php es lado servidor, dado caso tus usuarios tengan habilitado cURL, puede que tal vez lleguen a usar tu formulario.

bueno lo que podes hacer en ese caso es:

Código PHP:
Ver original
  1. if($_SERVER['HTTP_HOST']!="tuhost.com"){
  2.      header('Location: index.php');//Redireccionas a cualquier pagina para que no permita el submit en tu documento PHP
  3. }else{
  4.     //acá va tu codigo de proceso caso sea = a tu host.
  5. };

esa es una idea de 30 segundos que se me acaba de ocurrir...

Me comentas
  #3 (permalink)  
Antiguo 03/11/2009, 15:42
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Evitar "update" desde un formulario externo

amm pues tu pregunta no me parece muy logica, debido a que deberian tener el codigo fuente PHP para poder realizar ese proceso recorda que html es lado cliente, php es lado servidor, dado caso tus usuarios tengan habilitado cURL, puede que tal vez lleguen a usar tu formulario.

bueno lo que podes hacer en ese caso es:

Código PHP:
Ver original
  1. if($_SERVER['HTTP_HOST']!="tuhost.com"){
  2.      header('Location: index.php');//Redireccionas a cualquier pagina para que no permita el submit en tu documento PHP
  3. }else{
  4.     //acá va tu codigo de proceso caso sea = a tu host.
  5. };

esa es una idea de 30 segundos que se me acaba de ocurrir...

Me comentas
  #4 (permalink)  
Antiguo 03/11/2009, 15:57
Avatar de KuKoRo  
Fecha de Ingreso: julio-2009
Mensajes: 38
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Evitar "update" desde un formulario externo

bacdavi gracias por la respuesta, creo no me di a entender bien, tengo por ejemplo el siguiente formulario:

Código HTML:
<form name="form" action="/perfil.php" onsubmit="validar();">
	<input name="fondo" id="fondo" />
    <input name="texto" id="texto"  />
    <input type="submit" name="update" value="Enviar"/>
</form> 
En realidad la validacion la hago con jQuery pero al caso es lo mismo, ahora tengo un usuario logueado en su cuenta, con acceso a este formulario, la validacion lo que hace es checar que los colores de FONDO y TEXTO no sean similares, ahora si este usuario guarda el codigo fuente de este formulario en su PC y abre este archivo en el navegador pero antes borrando la linea de (onsubmit="validar();") y cambiando en (action="ht tp://misitio.com/perfil.php") podra actualizar el FONDO y COLOR similares porque no paso por la validacion en JS.

Esto es lo que quiero evitar, que alguien desde un formulario local pueda modificar los datos a mi web.
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:41.