Foros del Web » Programando para Internet » PHP »

Seguridad de acceso

Estas en el tema de Seguridad de acceso en el foro de PHP en Foros del Web. Hola, tengo un formulario de login que ustedes bien sabe como funciona ese sistema. que consulta si el usuario y contraseña existen en la base ...
  #1 (permalink)  
Antiguo 14/01/2011, 10:31
 
Fecha de Ingreso: octubre-2008
Ubicación: Colombia
Mensajes: 450
Antigüedad: 16 años, 1 mes
Puntos: 2
Seguridad de acceso

Hola, tengo un formulario de login que ustedes bien sabe como funciona ese sistema. que consulta si el usuario y contraseña existen en la base de datos le da accedo, de lo contrario lo deniega.

bueno, pero tengo una duda, yo enlazo ese login si es valido los datos a un archivo de registro de usuario registro.php, pero me parece muy obvio ya que si conoces la ruta puedes ingresar directamente a este archivo sin pasar por el login. Lo que yo quiero es que si alguien hace esta acción, el sistema lo obigue a pasar por el login y meter los datos válidos, de los contrario no podrá acceder a ese archivo registro.php ni a todos los archivos de consultas del sistema.

mi archivo login es el siguiente

Código PHP:
Ver original
  1. <?
  2. //conecto con la base de datos
  3. require_once("conec.php");
  4. //Sentencia SQL para buscar un usuario con esos datos
  5. $ssql = "SELECT * FROM login WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";
  6.  
  7. //Ejecuto la sentencia
  8. $rs = mysql_query($ssql,$con);
  9.  
  10. //vemos si el usuario y contraseña es váildo
  11. //si la ejecución de la sentencia SQL nos da algún resultado
  12. //es que si que existe esa conbinación usuario/contraseña
  13. if (mysql_num_rows($rs)!=0){
  14.     //usuario y contraseña válidos
  15.     //defino una sesion y guardo datos
  16.     session_start();
  17.     session_register("autentificado");
  18.     $autentificado = "SI";
  19. echo "<script type='text/javascript'>
  20.             alert('Datos correctos - RECUERDE: El buen funcionamiento del sistema depende ahora de usted');
  21.             window.location='regristro.php';
  22.             </script>";
  23. }else {
  24.     //si no existe le mando otra vez a la portada
  25. echo "<script type='text/javascript'>
  26.             alert('Los datos ingresados no existen en la base de datos');
  27.             window.location='index.php';
  28.             </script>";
  29.      
  30. }
  31. ?>

La idea es que si alguien entra directamente al registro.php le deniege el acceso.
__________________
Desarrollo de Aplicaciones de Escritorio, Sitios Web, Audio y Video en SISGUS
  #2 (permalink)  
Antiguo 14/01/2011, 11:18
 
Fecha de Ingreso: diciembre-2010
Ubicación: Rosario, Santa Fe
Mensajes: 326
Antigüedad: 13 años, 11 meses
Puntos: 13
Respuesta: Seguridad de acceso

Busca sobre el uso de sessiones en PHP y con eso vas a poder solucionar tu problema.
  #3 (permalink)  
Antiguo 14/01/2011, 13:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: Seguridad de acceso

lo que tienes que hacer es crear una function vali_login() donde se valida la contraseña y unsername en caso contrario se redirecciona a la pagina de login o se imprime el formulario de login en la misma pagina
  #4 (permalink)  
Antiguo 14/01/2011, 13:12
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 7 meses
Puntos: 40
Respuesta: Seguridad de acceso

Cita:
Iniciado por arros Ver Mensaje
lo que tienes que hacer es crear una function vali_login() donde se valida la contraseña y unsername en caso contrario se redirecciona a la pagina de login o se imprime el formulario de login en la misma pagina
Veo que no entendiste muy bien su problema.


Tu problema se soluciona con el uso de sessiones como te dijeron, o cookies, preferiblemente usaria sessiones.

Aqui tienes la sección de sessiones del manual oficial de PHP.

Un saludo
  #5 (permalink)  
Antiguo 14/01/2011, 14:47
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: Seguridad de acceso

Hola, por un tema de seguridad es mejor no chequear el password en la sentencia sql.
Mejor es chequear solo el usuario, traer los datos y chequear el password con php.

Etiquetas: seguridad
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 21:12.