entrar.php
Código:
<?php
session_start();
//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);
session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);
$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
//header("Cache-Control: private");
?>
<html>
<head>
<meta http-equiv='last-modified' content='0'>
<meta http-equiv='cache-Control' content='no-cache, mustrevalidate'>
<meta http-equiv='pragma' content='no-cache'>
<meta http-equiv='expires' content='0'>
</head>
<body>
<form action="login.php" method="post">
Usuario: <input type="text" name="usuario"><br>
Contraseña: <input type="password" name="contrasena"><br>
<input type="submit" value="Entrar">
</form>
</body>
</html>
login.php
Código:
<?php
session_start();
if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];
if (strlen($usuario)<8 || strlen($usuario)>15)
{
echo "El usuario esta entre 8 y 15 caracteres<br>";
return false;
}
if (strlen($pass)<8 || strlen($pass)>15)
{
echo "La contraseña esta entre 8 y 15 caracteres<br>";
return false;
}
//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
$validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_@#";
for ($i=0; $i<strlen($usuario); $i++){
if (strpos($validos, substr($usuario,$i,1))===false){
echo " Contiene caracteres no permitidos<br>";
return false;
}
}
$cifrad=hash('sha512',$pass);
}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}
include("conexionbd.php");
$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());
mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");
$correcto=0;
$result=mysqli_query($conexion,"select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'") or die ("Error mysqli_query.");
if($fila1=mysqli_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;
}
if($correcto==1)
{
echo "<html><head>";
echo "<meta http-equiv='last-modified' content='0'>
<meta http-equiv='cache-Control' content='no-cache, mustrevalidate'>
<meta http-equiv='pragma' content='no-cache'>
<meta http-equiv='expires' content='0'>";
echo "</head><body>";
echo "Has entrado: ". $fila1['cod_admin'] ."<br>";
echo $_SESSION['usuario1'] ."<br>";
echo $_SESSION['contrasena'];
echo "<br><a href='desconectar.php'>Desconectar</a>";
echo "</body></html>";
}
if($correcto==0)
{
echo "<html><head><meta http-equiv='last-modified' content='0'>
<meta http-equiv='cache-Control' content='no-cache, mustrevalidate'>
<meta http-equiv='pragma' content='no-cache'>
<meta http-equiv='expires' content='0'></head><body>No entras</body></html>";
//echo "No entras";
//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);
session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);
$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
//header("Cache-Control: private");
}
mysqli_close($conexion);
?>
desconectar.php
Código:
<?php
session_start();
//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);
session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);
$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
//header("Cache-Control: private");
//header("Location: entrar.php");
echo "<html><head>";
echo "<meta http-equiv='last-modified' content='0'>
<meta http-equiv='cache-Control' content='no-cache, mustrevalidate'>
<meta http-equiv='pragma' content='no-cache'>
<meta http-equiv='expires' content='0'>";
echo "</head></html>";
//header("Location: entrar.php");
?>
TABLA:
Código:
CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
usuario1 VARCHAR(50) NOT NULL,
contrasena VARCHAR(200) NOT NULL,
email VARCHAR(50) NOT NULL,
CONSTRAINT PKUSU PRIMARY KEY (cod_admin)
) ENGINE=InnoDB;
POR LO QUE SE PUEDE APRECIAR ROMPE LAS SESSIONES PERO LA CACHE DEL NAVEGADOR QUEDA INTACTA XK?¿