Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Administrar usuarios

Estas en el tema de Administrar usuarios en el foro de Mysql en Foros del Web. Hola a todos tengo unas dudas con respecto a la administracion de usuarios. El tema es que estoy usando el Appserv que viene con el ...
  #1 (permalink)  
Antiguo 05/03/2007, 04:43
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Administrar usuarios

Hola a todos tengo unas dudas con respecto a la administracion de usuarios.
El tema es que estoy usando el Appserv que viene con el phpmyadmin y la verdad que no se si me conviene crear los usuario directamente en la tabla `user` de la base mysql o crear una tabla usuarios en mi base de datos. Con respecto a los usuarios que defina todos tienen que poder consultar mi base pero unicamente pueden hacer un insertar en una tabla particular que se llama auditoria de mi base de datos y ademas poder cambiar su contraseña. La otra duda que tengo es que si creo una tabla usuarios en mi base, los unicos campos que deberia incluir en ella deberian ser nombre de usuario y contraseña, pero no se como darle los privilegios porque creo que myql administra los privilegios de los usuarios directamente de la tabla `user`(creo que es asi por favor corregirme si me equivoco). Espero que puedan darme una mano. Desde ya se agradece. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 06/03/2007, 10:10
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 8 meses
Puntos: 70
De acuerdo Re: Administrar usuarios

Hola cala932.

Mmmm pues desde mi punto de vista, aunque es mas dispendioso me parece mas òptimo, que serìa que tu crearas todo lo que tiene que ver con tus usuarios. Es decir, crear una tabla usuario, otra de perfiles, otra de permisos, otra de log de transacciones. Eso serìa tu mòdulo de seguridad, con esto te evitas, estarte conectando con diferentes usuarios desde mysql, es decir, con usuarios creados directamente, por ejemplo, desde phpmyadmin y sòlo te conectarìas con uno.


No sè hasta que punto serìa viable, pero yo lo harìa asì.

Saludos!!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 07/03/2007, 04:06
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Re: Administrar usuarios

Gracias Carxl por responder, disculpa que te pregunte de nuevo, pero no entendi bien la parte en la que hablas de que si armo el modulo de seguridad evitaria estar conectandome con diferentes usuarios desde mysql y desde phpmyadmin solo me conectaria con uno. Te comento un poco lo que probe. Cree por el momento un super usuario con todos los privilegios y otro con la posibilidad de seleccionar nada mas. Y cuando entro al sistema, todo funciona bien, si el usuario (con el privilegio de seleccionar nada mas), trata de hacer algun tipo de ABM no puede. Pero Todavia tengo dudas al respecto de que si es la manera correcta de hacerlo, o implementar el modulo que tu me dices. Se agradece .Saludos!!!
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 08/03/2007, 08:38
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 8 meses
Puntos: 70
De acuerdo Re: Administrar usuarios

Hola de nuevo!

Con lo q' me dices, tuviste que crear un superusuario y un usuario normal para conectarte a Mysql, siendo estos usuarios, los que t permitirìan manejar tu Db, por lo que te tocarìa crear "x" cantidad de usuarios con sus respectivos permisos, por lo que debes en cada conexiòn con la db, perguntar que tipo de usuario se està conectando de los que creaste anteriormente con phpmyadmin por ejemplo.

Respecto al mòdulo de seguridad del que yo te hablo, sòlo creas un superusuario y tù debes crear, tablas de permisos, de perfiles, de usuarios, constrolando todo lo que los demàs usuarios quieran hacer, es algo parecido con lo que haces en phpmyadmin, pero personalizado, y hecho según tus criterios. La desventaja de este mètodo, es que siempre te conectaràs como super usuario, en el mysql_connect, no sè hasta que punto sea seguro por "sql inyection", un mètodo para atacar tu db desde tus input.

En ti està escoger la manera mas propicia de hacerlo.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 08/03/2007, 09:34
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 13 años, 6 meses
Puntos: 9
Re: Administrar usuarios

Gracias nuevamente Carxl, se me van aclarando las ideas cada vez mas, me gustaria que me dieras una opinion de estos scripts.
Pagina del loguin:
Código:
<form action="http://<?echo $_SERVER["HTTP_HOST"];?>/secretaria/logg/control.php" method="post">
<table align="center" width="60%" cellspacing="2" cellpadding="2" bgcolor="#DEDEDE" border="0">
<tr>
   <td colspan="2" align="center"
    <? if ($_GET["errorusuario"]=="si"){?>
    bgcolor=red> <span style="color:ffffff"><font size="1"> Datos Incorrectos</font></span>
    <?}else {?>bgcolor=#cccccc> <font size="1">Ingrese Clave de Acceso </font><?}?></td>
</tr>
<tr>
   <td align="right"><font size="1"> Usuario </font> </td>
   <td>:<input type="text" name="usuario" size="20" maxlength="20"> </td>
</tr>
   <td align="right"><font size="1"> Contraseña </font> </td>
   <td>:<input type="password" name="pass" size="20"> </td>
</tr>

<tr>
<td colspan="2" align="right"> <input type="submit" onclick="return valida(this.form)" value="Entrar"> </td>
</tr>

</table>
</form>
Control.php
Código PHP:
<?//conecto con la base
$iplocal=$_SERVER["HTTP_HOST"];
$conn=mysql_connect("$iplocal","$usuario","$pass");
if(
$conn){//selecciono la base de datos
mysql_select_db("mysql",$conn);//busco el usuario
$ssql="SELECT * FROM `user` WHERE 1 AND `Host` LIKE '%' AND `User` LIKE '$usuario'";//ejecuto sentencia
$rs=mysql_query($ssql,$conn);//usuario y contraseña validos //defino sesion y guardo datos
$fila=mysql_fetch_array($rs);
$nivel=$fila['nivel'];
session_start();
$autentificado="SI";
session_register("autentificado","usuario","pass","nivel");
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/mensaje.php");  
}
else{
//si no existe lo mando otra vez al loggin
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/loggin.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Este script seguridad lo incluyo en todas las pagina, la variable nivel establece una jerarquia dentro mi sistema.
Código PHP:
<?
//Inicio la sesion
session_start();
session_register("autentificado","usuario","pass","nivel");
//compruebo que el usuario este autentificado
if($autentificado!="SI"){
//si no existe, va a la pagina de loggin
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/loggin.php");
exit();
}
else if (
$nivel!=1){//nivel no correspondido mensaje de acceso denegado
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/error.php");
//salgo del script
exit();
}
?>
Creo que la parte de preguntar que usuario se esta conectando esta hecho o no???. Gracias de antemano y gracias por tu tiempo. Saludos
__________________
->Aprender es un proceso que incluye el error..
  #6 (permalink)  
Antiguo 08/03/2007, 14:28
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 13 años, 8 meses
Puntos: 70
Re: Administrar usuarios

Hola de nuevo cala932.

Cita:
Creo que la parte de preguntar que usuario se esta conectando esta hecho o no???
Así es, lo estás haciendo, pero...(siempre hay un pero ), según lo que veo está muy limitado, este script es típico de las ayudas de las paginas de desarrollo web, aunque para comenzar está bien, ya debes estar haciendo algo mas complejo; por ejemplo, validando por niveles de seguridad, lo que te decía, "permisos"; porque ahí simplemente te dice si se autentificó o no.

Saludos y espero te haya aclarado aún mas.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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:05.