Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: OssoH en 25 Abril 2009, 15:52 pm



Título: no sea visible los parametros de una URL
Publicado por: OssoH en 25 Abril 2009, 15:52 pm
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.


Título: Re: no sea visible los parametros de una URL
Publicado por: Nakp en 25 Abril 2009, 17:29 pm
post


Título: Re: no sea visible los parametros de una URL
Publicado por: braulio-- en 25 Abril 2009, 23:49 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.


Título: Re: no sea visible los parametros de una URL
Publicado por: armigerum.umbra en 26 Abril 2009, 18:40 pm
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.


Título: Re: no sea visible los parametros de una URL
Publicado por: дٳŦ٭ en 26 Abril 2009, 22:46 pm
En tu <form> "method=post" y en php $_POST.

Suerte


Título: Re: no sea visible los parametros de una URL
Publicado por: 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.
    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


Título: Re: no sea visible los parametros de una URL
Publicado por: OssoH en 14 Mayo 2009, 23:11 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


Título: Re: no sea visible los parametros de una URL
Publicado por: braulio-- en 15 Mayo 2009, 14:55 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.


Título: Re: no sea visible los parametros de una URL
Publicado por: OssoH en 17 Mayo 2009, 21:52 pm
Entonces braulio cual seria tu solucion?
Gracias


Título: Re: no sea visible los parametros de una URL
Publicado por: ‭lipman en 17 Mayo 2009, 22:02 pm
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


Título: Re: no sea visible los parametros de una URL
Publicado por: ‭‭‭‭jackl007 en 17 Mayo 2009, 22:30 pm
tambien puedes crear una variable de sesion y acceder a ella desde cualquier archivo php...
yo uso ese eso cuando tube la necesidad de implementar un sistema para cambiar de idioma sin necesidad que se varie la url...


Título: Re: no sea visible los parametros de una URL
Publicado por: braulio-- en 19 Mayo 2009, 15:16 pm
tambien puedes crear una variable de sesion y acceder a ella desde cualquier archivo php...
yo uso ese eso cuando tube la necesidad de implementar un sistema para cambiar de idioma sin necesidad que se varie la url...

Eso podria ser util.


Título: Re: no sea visible los parametros de una URL
Publicado por: [u]nsigned en 20 Mayo 2009, 01:55 am
Si es por estetica, con un iframe y listo, a otro tema....

si es por seguridad lo ideal es hacer tu script a prueba de 'inyecciones'.

Otra cosa: Por post, ni siquiera tendrian que usar tu form, el atacante podria hacer su podri form o spam y ponerle como target tu pagina...

La seguridad no radica en el ocultamiento de las vulnerabiliades, sino en su correccion. Y sino preguntales a los amigos de Micro$oft...

Saludos


Título: Re: no sea visible los parametros de una URL
Publicado por: OssoH en 9 Junio 2009, 15:06 pm
Por los comentarios entonces creo que lo mejor es al principio de cada carga de página PHP tener una SQL que compruebe si esa persona tiene acceso o NO a ver la página.
Gracias