Foros del Web » Programando para Internet » PHP »

Como hacer usuarios con privilegios sin perder seguridad

Estas en el tema de Como hacer usuarios con privilegios sin perder seguridad en el foro de PHP en Foros del Web. Hola buenas de nuevo!! Quisiera saber cual es la mejor manera de hacer lo siguiente... Imaginemos que tenemos una bbdd con usuarios, estos usuarios puede ...
  #1 (permalink)  
Antiguo 29/07/2010, 03:23
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Como hacer usuarios con privilegios sin perder seguridad

Hola buenas de nuevo!!

Quisiera saber cual es la mejor manera de hacer lo siguiente...

Imaginemos que tenemos una bbdd con usuarios, estos usuarios puede posterar sus artículos y también los pueden eliminar. Si yo creo un cpanel donde se listan los artículos del usuario logeado con un botón para eliminar cada articulo con el link delete.php?articulo-id=8, cualquier usuario que haga login y pase una id aleatoria se puede cargar el artículo de otro, no?

Debería hacer una consulta a la bbdd para comprobar que la id del artículo corresponde al usuario en cuestión? si es así, como paso la id de usuario? por sesión?

Es seguro esto?

Un saludo y muchas gracias!
  #2 (permalink)  
Antiguo 29/07/2010, 03:53
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

La id del usuario del articulo tendrás que sacarla por consulta cuando accedes al archivo delete.php.

Después comparas ese id con el de la sesión y si no es lo mismo mandas un mensaje de error.
  #3 (permalink)  
Antiguo 29/07/2010, 04:10
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

y porque cuando se logea directamente miras los articulos que ha escrito el y solo le muestras los suyos?? (para eliminar claro está), no se si me he explicado y sino como dice chenon, o bien pasar por url tb su identificador y comprobar que el articulo es suyo
  #4 (permalink)  
Antiguo 29/07/2010, 04:35
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Si claro que mostraré sólo los suyos, eso da igual, porque el verá en la url una id del artículo a eliminar... y si el se inventa un id podrá cargarse el artículo aunque no sea suyo, no?

Chenon, para hacer la consulta necesito un dato para hacer la comparación, que dato uso? y como lo paso? si lo paso por url estoy en las mismas, uno que sepa un user podrá liarla también..

Muchas gracias por las respuestas!
  #5 (permalink)  
Antiguo 29/07/2010, 04:40
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 12 años, 5 meses
Puntos: 150
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Lo primero es tener claro que son las variables de sesion, si nada mas loguearse correctamente guardas el ID del usuario en una variable de sesion, luego en TODA tu web usas ese ID para mostrar todo lo que pertenezca a dicho usuario, SIEMPRE en tus sentencias Mysql el ...... WHERE ID=".$_SESSION['IDUSUARIO']

Donde hay que tener más seguridad en estos casos es a la hora de loguearse, evitar las Inyecciones SQL por ejemplo.
  #6 (permalink)  
Antiguo 29/07/2010, 04:41
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Cita:
Iniciado por miktrv Ver Mensaje
Si claro que mostraré sólo los suyos, eso da igual, porque el verá en la url una id del artículo a eliminar... y si el se inventa un id podrá cargarse el artículo aunque no sea suyo, no?

Chenon, para hacer la consulta necesito un dato para hacer la comparación, que dato uso? y como lo paso? si lo paso por url estoy en las mismas, uno que sepa un user podrá liarla también..

Muchas gracias por las respuestas!
Como tienes en la base de datos la tabla de los articulos? Digo yo que hay un campo que se llama idusuario o algo así no?
  #7 (permalink)  
Antiguo 29/07/2010, 04:53
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Sí, por cada articulo habrá la id del user, pero luego con que comparo esa id?
  #8 (permalink)  
Antiguo 29/07/2010, 09:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

VUN te ha dado la respuesta, si cuando se logea guardas $_SESSION['idusuario']=$idusuario, es decir, en una variable sesion el identificador del usuario nadie podra ponerse en otro usuario que es tu miedo porque al logearse debera saber el password, entonces a la hora de borrar comparas si el iduser de la tabla articulos es el mismo al de la sesion (la que se ha iniciado) entonces si es la misma lo borras y sino pues le sacas un mensaje de error
  #9 (permalink)  
Antiguo 29/07/2010, 11:01
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 18 años, 5 meses
Puntos: 105
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Holas,

Un poquito para aumentar, y es que siguiendo lo mencionan VUN y adristb, podrias tener en tu base de datos campos como editar, eliminar, buscar, imprimir, adicionar como para que cuando te loguees crees sesiones de esos permisos y asi puedes detallar mas tus permisos.

Saludos
Gildus
__________________
.: Gildus :.
  #10 (permalink)  
Antiguo 29/07/2010, 11:28
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Vale pues muchas gracias por vuestra ayuda!!

No tenía claro si mantener el id de usuario en una session era del todo seguro..

Un saludo!
  #11 (permalink)  
Antiguo 29/07/2010, 11:47
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 12 años, 5 meses
Puntos: 150
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Cita:
Iniciado por miktrv Ver Mensaje
Vale pues muchas gracias por vuestra ayuda!!

No tenía claro si mantener el id de usuario en una session era del todo seguro..

Un saludo!
Las variables de sesion son totalmente seguras, cada usuario crea su propio $_SESSION['idusuario'] por asi decirlo, que por cierto se guardan en el servidor y se borran automaticamente en cuanto expira cierto tiempo sin navegar, se cierra el navegador, o se destruye la sesion manualmente.

Te puede ahorrar muchas consultas el guardar ciertas cosas en variables de sesion, por ejemplo el nick del propio usuario, para que se vaya mostrando luego en el tipico recuadro "Estas logueado como Vun" tan solo con la variable de sesion sin estar constantemente mirando la tabla en cada pagina.
  #12 (permalink)  
Antiguo 29/07/2010, 11:53
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

De acuerdo,

Cuantas variables de sesión son normalmente utilizadas?

Por ejemplo, una para el nombre de usuario, otra para la id.. alguna más?

Un saludo!
  #13 (permalink)  
Antiguo 30/07/2010, 05:33
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

yo en mis aplicaciones suelo guardar esas dos, el identificador y el nombre de usuario, pero puedes guardar las que quieras.
  #14 (permalink)  
Antiguo 30/07/2010, 05:49
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 13 años, 6 meses
Puntos: 165
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Hola buenas de nuevo,

Muchas gracias por la info, te haré caso

Un saludo!
  #15 (permalink)  
Antiguo 30/07/2010, 06:02
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Como hacer usuarios con privilegios sin perder seguridad

Cita:
Iniciado por miktrv Ver Mensaje
De acuerdo,

Cuantas variables de sesión son normalmente utilizadas?

Por ejemplo, una para el nombre de usuario, otra para la id.. alguna más?

Un saludo!
Al ser seguras, yo meto en las variables de sesión casi cualquier dato importante del usuario.

Por ejemplo, si voy a hacer un formulario de edición de contraseña, meto en una variable de sesión la contraseña encriptada, y así no tengo que sacarla luego por bd. (Me ahorro una consulta)

Pero vamos, el id del usuario es muy importante. Se podría decir que es la que demuestra que está logeado.
__________________
www.serra-project.es

Etiquetas: perder, privilegios, seguridad, usuarios
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 17:55.