Foros del Web » Programando para Internet » PHP »

session o usuario base de datos

Estas en el tema de session o usuario base de datos en el foro de PHP en Foros del Web. Cordial saludo Actualmente tengo el siguiente problema. Estoy desarrollando una aplicación web con php y BD postgresql. He creado sesiones para usuarios registrados, pero ellos ...
  #1 (permalink)  
Antiguo 21/01/2008, 05:13
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 1
session o usuario base de datos

Cordial saludo

Actualmente tengo el siguiente problema.

Estoy desarrollando una aplicación web con php y BD postgresql.

He creado sesiones para usuarios registrados, pero ellos deben acceder a la BD. Pero hasta ahora he tenido que configurar un archivo .inc con los parametros y permisos de un usuario general de BD. es decir un archivo con:

$host = "localhost";
$user = "superadmon";
$pass = "123456";

y al momento de crear la conexion

$conn = pg_connect("host=$host user=$user password=$pass dbname=registro");

el usuario superadmon tiene todos los privilegios y un usuario registrado quiere modificar, borrar, adicionar registro en la BD la linea de conexión es la misma. Hay alguna forma para no tener estos parametros en un archivo sino que cada usuario tenga sus propios privilegios a las tablas que emplea?

Gracias de antemano con la ayuda que me puedan brindar
  #2 (permalink)  
Antiguo 21/01/2008, 06:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: session o usuario base de datos

Buenas,
No entiendo que es lo que quieres hacer...

Un saludo
  #3 (permalink)  
Antiguo 21/01/2008, 10:14
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: session o usuario base de datos

Pido disculpas por no ser claro de antemano.

Cuando uno hace un Sistema de Información se crea una tabla de "usuarios" con sus datos(login, password, nombre, apelido, email, etc).

Cuando se quiere conectar a la base de datos para verificar que un usuario (usu_sis)existe e dicha tabla y que ha escrito correctamente su password se usa un usuario de la base de datos (admonDb) para realizar la conexion, la consulta, y devuelve "true" para iniciar la session o "false" para pedir nuevamente que ingrese los datos el usus_sis.

los datos de admonDb los ingreso directamente en un archivo .inc para que esten siempre cargados... pero esta forma me parece poco segura, alguien puede descargar el archivo y tendría todos los datos del admonDb.

Mi pregunta es si hay alguna forma de guardar los datos de admonDB de forma mas segura o si es recomendable crear un usuario directamente en la base de datos con menos privilegios cada vez que se registra un nuevo usuario.

Gracias
  #4 (permalink)  
Antiguo 21/01/2008, 10:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: session o usuario base de datos

Respecto a guardar los datos de forma más segura, no utilizo php, pero seguro que existe.

Podrias crear un usuario que solo tenga permisos para hacer select sobre la tabla de usuarios y es el que utilizas para comprobar el login. Ni que decir tiene que la password deberia estar cifrada.

Un saludo
  #5 (permalink)  
Antiguo 21/01/2008, 11:36
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: session o usuario base de datos

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #6 (permalink)  
Antiguo 21/01/2008, 13:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: session o usuario base de datos

Si quieres usar usuarios especificos, debes de alterar tu server de base de datos (con el comando ADD USER) aunque para esto debes de conectarte con una cuenta de privilegios ROOT.

Lo mas recomendable es manejar los permisos (de borrar/insertar/etc) directo en tu programa, y conectarte con un usuario con privilegios limitados.

Saludos.
  #7 (permalink)  
Antiguo 21/01/2008, 19:41
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: session o usuario base de datos

Cita:
Iniciado por GatorV Ver Mensaje
Si quieres usar usuarios especificos, debes de alterar tu server de base de datos (con el comando ADD USER) aunque para esto debes de conectarte con una cuenta de privilegios ROOT.

Lo mas recomendable es manejar los permisos (de borrar/insertar/etc) directo en tu programa, y conectarte con un usuario con privilegios limitados.

Saludos.
Cual es la mejor forma de mantener oculto los datos del usuario con privilegios limitados? hay otra forma de hacerlo sin que involucre un archivo que lo almacene?
  #8 (permalink)  
Antiguo 22/01/2008, 10:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: session o usuario base de datos

Puedes encryptar o codificar el archivo, aunque esto le daría una sobrecarga innecesaria a tu aplicación, ya que si usas un archivo con extensión .php, no podrán ver los datos (a menos que entren a nivel sistema de archivos a tu servidor).

Saludos.
  #9 (permalink)  
Antiguo 22/01/2008, 20:02
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: session o usuario base de datos

he optado por cada registro de usuario crear un usuario en la base de datos con permiso solo en tablas específicas. Si alguien conoce un inconveniente basándose en su experiencia, le agradezco me transmita su saber y posible solución alternativa. Gracias
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 13:22.