Foros del Web » Programando para Internet » PHP »

Encriptar parámetros URL

Estas en el tema de Encriptar parámetros URL en el foro de PHP en Foros del Web. Hola a todos, Me gustaría saber si es posible en php encriptar los parámetros enviados por url. Es decir, intentar evitar urls del tipo: http://www.midominio.com/pagina.php?...esupuesto=True ...
  #1 (permalink)  
Antiguo 24/01/2005, 10:19
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 12 años, 11 meses
Puntos: 0
Encriptar parámetros URL

Hola a todos,

Me gustaría saber si es posible en php encriptar los parámetros enviados por url.
Es decir, intentar evitar urls del tipo:

http://www.midominio.com/pagina.php?...esupuesto=True

Ya que es un poco peligroso, porque se podria modificar manualment la url y así ver datos comprometidos.

He estado investigando con la función mcrypt(), consigo encriptar una cadena de texto, pero luego no sé como recogerla en la página de destino.

A ver si algún maestro del foro me puede echar una mano. Un saludo a todos
  #2 (permalink)  
Antiguo 24/01/2005, 10:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y .. no usas sesiones que validen a tus usuarios (o cookies) e identificas que registros puede ver que "nivel" de acceso a tu sistema? ..

Un saludo,
  #3 (permalink)  
Antiguo 24/01/2005, 12:11
Avatar de shinblood  
Fecha de Ingreso: diciembre-2003
Ubicación: lima
Mensajes: 214
Antigüedad: 14 años
Puntos: 1
Aqui prodas encontrar una clases ofucasdora de URL

http://www.phpclasses.org/browse/class/78.html

ojala te sirva
__________________
saludos :adios:
  #4 (permalink)  
Antiguo 24/01/2005, 12:14
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 12 años, 11 meses
Puntos: 0
Pues si.... a ver, te explico...

Tengo una tabla de usuarios y otra de grupos de usuarios, y les otorgo ciertos privilegios (para visualizar unos nodos de menú u otros, por ejemplo) con unas tablas de relación Menus-Grupos de usuarios (el director ve este menú, y el empleado no).

Para ello, al hacer login correctamente, guardo unas variables de sesión, ($HTTP_SESSION_VARS['user'], $HTTP_SESSION_VARS['grupo'], $HTTP_SESSION_VARS['empresa'], etc), pero no se si eso me resuelve el tema que he preguntado antes.

Por ejemplo, si voy a esta URL, veo mi perfil:

http://www.forosdelweb.com/miembros/xberni/

pero si voy cambiando el id, puedo ir viendo los perfiles de otros miembros del foro. ¿Qué pasa si los datos de esos usuarios no me interesara que se vieran? ¿Que pasa si los pudiera ver determinado grupo de usuarios y otros no? ¿Qué pasa si el motor del foro fuera aprovechado para otra web de, por ejemplo, foros de animales y viera el perfil de una persona totalmente ajena a este foro?

En fin, no se si me explico, si se pudiera encriptar los parámetros sería perfecto, ya que es para una web de gestión de abogados y se pretende que los datos sean lo más privados posible.

Muchas gracias por tu ayuda Cluster
  #5 (permalink)  
Antiguo 24/01/2005, 13:44
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 14 años, 4 meses
Puntos: 0
Bueno, aunque no es recomendable ya que los nombres de las variables deben ser claros una opción sería utilizar variables extrañas... es decir:

http://www.forosdelweb.com/member.php?wanchu=86427

http://www.midominio.com/users.php?=...8&chiuaca=True

Desconcierta, verdad? Pues a la hora de programar también, así que anota qué es cada cosa usando comentarios en el código, sino lo llevas claro... pero es una solución a miradas indiscretas...

Algo más 'light' sería sustituir la variables típicas tipo 'idCliente' por otras parecidas tipo 'iCli', o 'iclnt' menos habitual y no tan radical...

Luego intenta restringir al máximo el uso de las variables, es decir, si un script está esperando una variable llama 'uname' y recibe otra que devuelva un error, si 'uname' contiene el nombre de un usuario comprueba si existe en tu base de datos, si no existe que devuelva un error... y así. Usa, por supuesto, una configuración de register globals = off y los formularios todos a post.

Cuánto más controladas tengas estas cosillas más difícil será que te pillen.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 24/01/2005 a las 14:03 Razón: a veces me paso de original
  #6 (permalink)  
Antiguo 24/01/2005, 14:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
pero si voy cambiando el id, puedo ir viendo los perfiles de otros miembros del foro. ¿Qué pasa si los datos de esos usuarios no me interesara que se vieran? ¿Que pasa si los pudiera ver determinado grupo de usuarios y otros no? ¿Qué pasa si el motor del foro fuera aprovechado para otra web de, por ejemplo, foros de animales y viera el perfil de una persona totalmente ajena a este foro?
En ese caso es tu sistema el que debe validar que es lo que puede ver o no en función de parámetros ..

Es decir . .si tu tienes un script x.php que puede ver el "ID" del usuario en curso (que ya detectas en tu uso de variables de sesión) .. valida que "ID usuario sessión= UserID" .. Si hablas de que cierto usuario puede ver cierto grupo de "registros" .. tendrás que gestionar eso mismo "grupos" y en consecuencia asignarlos a tus varaibles de sesión para que sepas a que grupo pertenece y validarlo.


Cita:
En fin, no se si me explico, si se pudiera encriptar los parámetros sería perfecto, ya que es para una web de gestión de abogados y se pretende que los datos sean lo más privados posible.
Insisto que para eso están las variables de sesión .. sólo falta que tu definas tus "políticas" de quien ve que o hace qué en tu sistema .. para eso tendrás que ayudarte de "flags" (estados, banderas) que informarán que "usuario" está en el sistema y que privilegios (nivel de usuario, grupo que pertenece .. etc) contra lo que el dato a representar perteneza.

Un saludo,
  #7 (permalink)  
Antiguo 25/01/2005, 09:08
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 12 años, 11 meses
Puntos: 0
Muchas gracias a todos, Cluster, DjNelson y Shinblood. He replanteado un poco la base de datos y añadiendo algún campito en alguna tabla y con las variables de sesión creo que podré solucionarlo.

De todas maneras me miraré el tema de las clases ofuscadoras, seguro que nunca viene mal.

Un saludo y muchas gracias por la ayuda.
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 07:10.