Foros del Web » Programando para Internet » PHP »

Llamadas entre paginas.php con paso de parametros no visibles

Estas en el tema de Llamadas entre paginas.php con paso de parametros no visibles en el foro de PHP en Foros del Web. Hola. Busco la manera de evitar que aparezcan en la url, y a la vez evitar que se pueda modificar el dato recibido cuando paso ...
  #1 (permalink)  
Antiguo 22/03/2007, 00:30
 
Fecha de Ingreso: abril-2004
Mensajes: 10
Antigüedad: 20 años
Puntos: 0
Pregunta Llamadas entre paginas.php con paso de parametros no visibles

Hola.
Busco la manera de evitar que aparezcan en la url, y a la vez evitar que se pueda modificar el dato recibido cuando paso parametros de una pagina.php a otra.

Me explico un poco mejo con un ejemplo :
Dispongo de una pagina generada a traves de una consulta sql que me da los siguientes "links".

<p><a href="recibodatos.php?dato_nombre=alfonso">selecci onar </a></p>
<p><a href="recibodatos.php?dato_nombre=pedro">seleccion ar </a></p>
<p><a href="recibodatos.php?dato_nombre=enrique">selecci onar </a></p>
<p><a href="recibodatos.php?dato_nombre=manuel">seleccio nar </a></p>
<p><a href="recibodatos.php?dato_nombre=maria">seleccion ar </a></p>
<p><a href="recibodatos.php?dato_nombre=teresa">seleccio nar </a></p>

El navegante, elije la opcion situandose sobre el enlace "seleccionar" , y este le redirige a una pagina recibodatos.php, enviado el valor de la variable dato_nombre seleccionado. Hasta aqui todo es correcto.

Bien, busco la manera de hacer exactamente esto mismo, pero sin que aparezca en la url el pase de parametros ( o sease, solo debe aparecer recibodatos.php , sin parametros ) a la vez asi impido que pueda manualmente cambiar el valor de la variable en la url ya que podira seleccionar un valor no disponible
P.ej. : si seleccionase en la opcion dato_nombre=teresa
el usuario me modifica la url y pone el valor de dato_nombre=pepillo - con lo cual estaria accediendo a los datos de pepillo (cosa que no deberia poder hacer ! ).

Se que enviando datos por POST desde formularios, estos no aparecen en la url, pero no se como hacerlo desde un link... ¿?

Perdon por el rollo. Cualquier sugerencia sera bien recibida.

Un saludo.
Alfonso.
  #2 (permalink)  
Antiguo 22/03/2007, 17:30
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Llamadas entre paginas.php con paso de parametros no visibles

Hay algo que considerar:
Si no se supone que los datos de "pepillo" se pueden modificar, de ninguna manera puede tu programa php aceptar ese dato como entrada.

Si acaso "pepillo" está al mismo nivel que "teresa", te daría lo mismo que se modificara (ya que eventualmente también saldría en el listado en algún momento).
Si está a un nivel diferente (sus datos tienen que estar más protegidos), deberías tener algún indicador en el origen de datos (base de datos) que le marque a tu programa PHP que los datos de ese usuario NO se pueden modificar igual que los de los demás.

No se puede enviar POST desde un enlace, solo podés hacerlo desde un formulario, o desde una llamada "interna" en la ejecución de PHP.

Creo que tenés que encarar el problema de la seguridad desde otra perspectiva.


Saludos.
  #3 (permalink)  
Antiguo 23/03/2007, 01:13
 
Fecha de Ingreso: abril-2004
Mensajes: 10
Antigüedad: 20 años
Puntos: 0
Re: Llamadas entre paginas.php con paso de parametros no visibles

Realmente no busco ningun sistema de seguridad.
Tan solo busco "limpieza" en la URL, y en cierta manera, ocultar los datos al usuario, pero tan solo eso, ocultarlos, no proteger ninguna dato.

Que algo tan simple, como enviar en la url- compras_del_cliente=120 - y sacar un listado de sus compras, y evitar que el usuario no sea capaz de, simplemente cambiando en la url el valor 120 por cualquier otro, poder ver las compras de otros clientes.

Gracias, y un saludo.
Fonso.
  #4 (permalink)  
Antiguo 23/03/2007, 17:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Llamadas entre paginas.php con paso de parametros no visibles

Justamente a eso voy: ¿tu usuario tiene que estar autentificado?
Si es así, podés hacer que solo pueda ver ciertos datos, creando categorías de usuarios restringidos.

En principio podrías ocultar un poco cambiando los enlaces por botones de formularios con campos ocultos, donde el ID o el dato que querés ocultar está en ese campo oculto.
Si lo que buscás no es seguridad, hacer eso complicaría (aunque no mucho) a cualquier persona que intentara una manipulación de datos.

Aún sería sencillo obtener los datos de otra persona, pero al menos lo complicás un poco...


Saludos.
  #5 (permalink)  
Antiguo 24/03/2007, 00:21
 
Fecha de Ingreso: enero-2002
Mensajes: 4.159
Antigüedad: 22 años, 3 meses
Puntos: 22
Re: Llamadas entre paginas.php con paso de parametros no visibles

Una opción podría ser enviarlos y recibirlos como POST en lugar de GET y los valñores dentro de un campo oculto, pero de todas formas con un simple ver codigo fuente se pueden ver los valores, la única diferiencia es que no aparacen en el URL:

Cita:
<form name="form1" method="post" action="recibodatos.php">
<input name="dato_nombre" type="hidden" id="dato_nombre" value="alfonso">
<input type="submit" name="Submit" value="Enviar">
</form>

<form name="form1" method="post" action="recibodatos.php">
<input name="dato_nombre" type="hidden" id="dato_nombre" value="pedro">
<input type="submit" name="Submit" value="Enviar">
</form>

<form name="form1" method="post" action="recibodatos.php">
<input name="dato_nombre" type="hidden" id="dato_nombre" value="enrique">
<input type="submit" name="Submit" value="Enviar">
</form>
.
.
.
.
La ota forma sería que guardes cada valor como variable de sesión, de esa forma siempre estarán disponibles sin la necesidad de que las estés enviado entre una página y otra.

Saludos.
  #6 (permalink)  
Antiguo 24/03/2007, 01:25
 
Fecha de Ingreso: abril-2004
Mensajes: 10
Antigüedad: 20 años
Puntos: 0
De acuerdo Re: Llamadas entre paginas.php con paso de parametros no visibles

Gracias, la opcion de Elalux es la que andaba buscando.
Ya se que no es un metodo seguro y que viendo el codigo fuente del navegador, puedes ver los valores como indica Alvlin, pero es bastante mas limpio que el paso por URL, y en cierto modo escondes los valores sobre los que trabaja, tanto en la URL , como cuando te situas sobre el boton a pulsar.

Voy a hacer un par de pruebas.
Gracias y un saludo.

Fonso.
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 00:43.