Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2008, 11:09
marcospuig
 
Fecha de Ingreso: febrero-2007
Mensajes: 138
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema seguridad

Hola, estoy realizando una aplicación web en php para la gestión de un centro escolar que en un principio iba a ser para una intranet, pero que se ha decidido sacar a internet.

Como iba a ser para una intranet la verdad es que creo que la seguridad de la aplicación es un poco baja, pido por favor me aconsejeis si está bien este nivel de seguridad o es poco y posibles alternativas. Os cuento, en todos los scripts, al principio hay una llamada a un script llamado 'seguridad.php' que contiene:


Código PHP:
<? 
session_start
(); 


if ((
$_SESSION['autentificado'] != "SI") || ($_SESSION['loginActivo'] != $_SESSION['loginURL'])) {
  
    
//si no existe, envio a la página de autentificacion
    
echo'<script language=Javascript> location.href="http://Autentificacion/autentificacion.php"; </script>';
    
//ademas salgo de este script
    
exit();
}
?>
En 'seguridad.php' lo que hago es controlar si el login que llega está autentificado y si es el mismo que tiene activa la sesión en el navegador, (si está autentificado lo compruebo al principio, al conectarse el usuario a la base de datos con el siguiente script):

Código PHP:
<?
//Sentencia SQL para buscar un usuario con esos datos
$login=$_POST["login"];
$password=md5($_POST["password"]);



$sql "SELECT * FROM usuarios WHERE ((login='".$login."') && (password='".$password."'))";
$result mysql_query($sql$GLOBALS["miConexion"]) or die(mysql_error());


//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa combinación usuario/contraseña


if (mysql_num_rows($result)!=0){
    
//usuario y contraseña válidos
    //defino una sesion y guardo datos
    
session_start();
    
    
$fila mysql_fetch_assoc($result);
       
    
$_SESSION['autentificado'] = "SI";
    
$_SESSION['loginActivo'] = $login;

 
header ("Location: http://index.php?login=".$fila['login']."");
        
}else {
    
//si no existe le mando otra vez a la portada
    
header("Location: autentificacion.php?errorusuario=si");
}
?>
Y esto es todo lo que hago en nivel de seguridad en mi aplicación. Como os dije antes quisiera saber si está bien o es preciso tener más seguridad y posibles alternativas dado que soy nuevo en esto.

Muchas gracias