no sea visible los parametros de una URL

Iniciado por OssoH, 25 Abril 2009, 15:52 PM

0 Miembros y 2 Visitantes están viendo este tema.

OssoH

Hola a todos estoy desarrollando una aplicacion web en php bajo XAMPP y mi pregunta es la siguiente :
Tengo la necesidad de pasar paramétros a través de la URL, ¿es posible que no sean visibles para el usuario?
por ejemplo http://www.dominio.com/prueba.php?id=34&op=update
el usuario solo vea http://www.dominio.com/prueba.php
o incluso mejor si es posible esto http://www.dominio.com
de forma que no sepa que variables paso por query y comience a intuir cosas como por ejemplo que pasaría si cambia el id y en vez de poner 34 pone otro valor.
Esto es importante controlarlo porque si cambiará el id a otro número entraría en la ficha de otro cliente que no debería tener acceso.
Algún consejo?
Gracias.

Nakp

Ojo por ojo, y el mundo acabará ciego.

braulio--

Cita de: Nakp en 25 Abril 2009, 17:29 PM
post
Dice que tiene que pasarlos por la url,
se que es posible, por lo menos yo estuve en un foro que te ibas metiendo por las paginas y no cambiaba la url.
La verdad es que no se como hacerlo.

armigerum.umbra

Puedes usar javascript, por otro lado no veo la necesidad de que forsozamente tengas que utilizar el metodo Get. al menos yo no me he topado hasta el momento con esa necesidad. Mi consejo es que uses en ultima instance el metodo Get o lo uses cuando no se comprometa la seguridad, por ejemplo cuando usas paginacion, que el usuario da click en la pagina 5 por ejemplo y se mande por Get pag=5 en este caso si el usuario  mete un 8 o un 3, no pasa nada simplemente se le muestra dicha pagina.
Realmente hasta donde tengo entendido es imposible usar GET y que algun usuario no pueda alterar los valores sobre las variables. Pero puedes ser creativo y siempre usar Post para que no comprometas la seguridad, puedes hacer uso de por ejemplo Jquery o de hacer formularios con campos hidden para pasar valores ocultos a el usuario.

Saludos.

дٳŦ٭

En tu <form> "method=post" y en php $_POST.

Suerte


Con sangre andaluza :)


Anibal784

    A ver, en realidad lo que quieres hacer carece de sentido, no ganas ni pierdes seguridad con usar GET o POST, supongamos que usas un formulario para pasar los parámetros por POST, alguien vivo mira el código del html y puede deducir lo mismo que si se lo mandas por GET, entonces usemos elementos hidden, el código html te lo muestra.
    Entonces, a ver, usemos javascript, entonces alguien puede ver el código javascript para ver los parámetros que le pasás a tu script. Usemos cookies, necesitás un código que setee esa cookie y otra vez el resultado es el mismo.

    La seguridad está en checkear en el lado del servidor todos los datos pasados, sin importar que el tipo de éste lado pueda inferir la (por ejemplo) estructura de tu Base de Datos. A, eso si, no vas a andar pasando del cliente al servidor la contraseña de la base de datos porque es medio tonto eso.

    Una técnica (aunque realmente no me gusta pero se me ocurrió), es tener un .php por cada parámetro diferente, que lo único que haga sea redireccionar al script main con los parámetros formales, supongando que tienes la página principal y además la página que lista los contenidos de artículos televisores y otra de lavarropas, deberías tener una que se llame (por ejemplo) index.php, televisores.php y lavarropas.php
El que llega sin que lo llamen, se va sin que lo echen.

Citar
Vos no la votaste por eso la tenes adentro.
Lo fino no es lo tuyo, y a mi me chupa un huevo, soy argentino y no peronista, y eso es lo que realmente te molesta.

OssoH

Cita de: Anibal784 en 27 Abril 2009, 15:51 PM
    A ver, en realidad lo que quieres hacer carece de sentido, no ganas ni pierdes seguridad con usar GET o POST, supongamos que usas un formulario para pasar los parámetros por POST, alguien vivo mira el código del html y puede deducir lo mismo que si se lo mandas por GET, entonces usemos elementos hidden, el código html te lo muestra.
Si, pero no podría modificar el valor mientras que si los paso parametros en la cadena si que podría modificarlos y accederia a zonas que no deseo. Luego como me indicais pienso que la mejor opcion es POST

braulio--

Cita de: OssoH en 14 Mayo 2009, 23:11 PM
Cita de: Anibal784 en 27 Abril 2009, 15:51 PM
    A ver, en realidad lo que quieres hacer carece de sentido, no ganas ni pierdes seguridad con usar GET o POST, supongamos que usas un formulario para pasar los parámetros por POST, alguien vivo mira el código del html y puede deducir lo mismo que si se lo mandas por GET, entonces usemos elementos hidden, el código html te lo muestra.
Si, pero no podría modificar el valor mientras que si los paso parametros en la cadena si que podría modificarlos y accederia a zonas que no deseo. Luego como me indicais pienso que la mejor opcion es POST

Si que podria cambiar la informacion de varias maneras.
O usando el firebug para cambiar el valor del campo hidden o usando programass como el tamperdata para interceptar y cambiar el valor que se envie por post.

OssoH

Entonces braulio cual seria tu solucion?
Gracias

‭lipman

Como han dicho, tampoco pasa nada por verlo. Si es por simple estética vale, pero en el tema de la seguridad puedes buscarte la vida por ejemplo:

Tienes una web de compras y aparece una lista de artículos. La primera página es esta:

www.dominio.com/asd.php?id1=0&id2=20 Esta página te muestra los artículos (en la base de datos) del 1 al 20. Ahora puedes pensar. Pues no quiero que el usuario pueda modificar esto, porque podria poner para que le mostrara del 1 al 9999 y daria un error.

Pues te puedes buscar la vida del siguiente modo: Compruebas que entre id1 y id2 haya una diferencia de 20, y que el resto de dividir id2 entre 20, sea cero.

En conclusión, creo que puedes buscar siempre alguna idea para la seguridad ^^

Saludos