Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: mit en 27 Diciembre 2008, 01:18 am



Título: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: mit en 27 Diciembre 2008, 01:18 am
Esa es mi duda, tengo  2 archivos php.

En el primero genero una tabla de N valores con N links, cuando el usuario clickea un  link, se envian algunos datos que genero en esa fila de la tabla y los recibo en el segundo archivo php.

En primer lugar se que tengo que proteger la url de codigo malicioso, en ese sentido no hay problema, pero por ejemplo digamos que el link que clickeo en el archivo1, manda una variable llamada cantidad=100.
Entonces en el segundo archivo php hago una consulta a una tabla el cual me da un valor X.
Pues bien, lo que yo hago es al valor cantidad=100 ( no es constante ) que recibo del archivo1 le resto el valor X de la consulta en mi archivo2.

Entonces realizo cierta accion ( una insercion ).

pues bien, lo que me preocupa es que el usuario inquieto, al valor cantidad le ponga el valor que se le de su gana, entonces esto me traeria conflictos.


Es por eso que recurro a ustedes para ver si puedo ocultar los datos que se envien por url o algun metodo para arreglar el problema.

Espero alguna respuesta
gracias :)



Título: Re: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: WHK en 27 Diciembre 2008, 02:22 am
Usa el metodo POST, averigua sobre $_POST[];


Título: Re: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: mit en 27 Diciembre 2008, 03:28 am
Una de las sugerencias que halle fue usar ajax, y otra crear un form sin el boton y por medio de javascript hacer el procedimiento, probare a checar el dato que me diste.
Gracias amigo


Título: Re: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: mit en 27 Diciembre 2008, 04:34 am
Solucionado, lo que hice fue usar <form></form> con un campo hidden y llamando a una funcion javascript en la que le mando el valor que el usuario clickea y posteriormente dentro de la funcion, le asigno el valor que el usuario clickeo a el campo hidder y walla, tengo mi metodo post.

Reflexion: El problema no es encontrar la informacion, el problema es como adecuar el conocimiento que tenemos para adaptarlo a nuestras necesidades.

Cuando  WHK escribio: Usa el metodo POST, averigua sobre $_POST[]; me senti tonto, pero bue una respuesta que me hizo exprimir mi cerebro para poder abstraer lo que ya sabia de POST y adaptarlo, gracias bro :)

Saludos y feliz año nuevo.


Título: Re: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: Makiz0rz en 29 Diciembre 2008, 10:16 am
Pero para eso no hace falta nada de javascript ni forms hidden, si he entendido lo que quieres hacer, simplemente tienes que crear un form así:

Código:

<form method="post" action="archivo.php">
<input type="text" name="hola" />
<input type="submit" value="Submit" />
</form>


Y para sacar la variable en php:

Código:
<?php

echo $_POST['hola'];

?>

Hace tiempo que no programo en HTML/php, puede que haya algún fallo tonto, pero si es eso a lo que te refieres es mucho más fácil y limpio hacerlo así.
Un saludow


Título: Re: Como evitar que se muestre el paso de variables por url en php ??
Publicado por: mit en 29 Diciembre 2008, 15:39 pm
Esa es mi duda, tengo  2 archivos php.

En el primero genero una tabla de N valores con N links, cuando el usuario clickea un  link, se envian algunos datos que genero en esa fila de la tabla y los recibo en el segundo archivo php.

Jejej seria una maravilla si eso fuera lo que queria, pero como lo dije en mi primer post, genero una tabla de N links, tu solucion es muy vulgar  :P . Solo cuestionate esto: Para que quiero mandar por metodo post un valor costante?? en todo caso la solucion seria usar directamente el valor directo en mi archivo php, ya que se que el valor no va a cambiar.
     Como lo mencione al inicio, genero N links (con otros campos en la misma fila), lo que necesito son los datos de la fila que clickea el usuario, para tomar respectiva accion con esos datos.
Saludos