hice un sistema de autentificación basado en una session, y a la que valido con un script de seguridad al principio de cada página cifrada. Todo funcionaba bien, pero de pronto, Mozilla me advierte que "la página está redirigiendo de una manera que podría ser interminable" y explorer, simplemente (como es habitual) se tilda.
Aquí va el código:
cada página tiene el
Código PHP:
<?php
include("patrol.php");
?>
Código PHP:
<?php
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != "SI") {
//si no existe, envio a la página de autentificacion
header("Location: login.php");
exit();
}
?>
Código PHP:
<?php
session_start();
require("connect.php");
$connect = mysql_connect($host,$usuario_db,$pass_db)or die ('Ha fallado la conexión: '.mysql_error());
//a partir de acá van las querys y variables especiales.
if(trim($_POST['usuario']) != "" && trim($_POST['pass']) != "");
{
$usuario = strtolower(htmlentities($_POST['usuario'], ENT_QUOTES));
$password = $_POST["pass"];
$result = mysql_query('SELECT Pass, EmailUsuario FROM Usuarios000 WHERE EmailUsuario=\''.$usuario.'\'');
if($row = mysql_fetch_array($result)){
if($row["Pass"] == $password){
$_SESSION['&usuario'] = $row['EmailUsuario']; //compruebo si contraseña y usuario son correctos, si lo son
session_start();//defino la sesion
$_SESSION ['autentificado']='SI'; //establezco la variable de $_Session con valor "SI" para recuperarla en otra página
header("Location: panel.php"); //mando directamente a la pagina encriptada
}else{
echo "<tr><td><strong>Password incorrecto!</strong></td><p>
<td><a href= 'login.php' target='_self'>Volver a intentarlo</a></td></tr></p>";
echo "<tr width= 50%><td></td><td class=DestacadoCopia><a href='recuperar.php' _self>Recordarme mi usuario o contraseña</a></td></tr>"; } //fin del else
}else{
echo "<tr><td><strong>Atención: El usuario '$usuario' no está registrado en el sistema</strong></td></tr><p>";
echo "<tr><td><a href='login.php' target='_self'>Regresar a Usuarios </a></td></tr>";} //fin del else
mysql_free_result($result);
}
mysql_close();
?>