como puedo proteger mis paginas webs,problema con la cache

Iniciado por tecasoft, 3 Febrero 2013, 20:39 PM

0 Miembros y 1 Visitante están viendo este tema.

tecasoft

como puedo proteger mis paginas webs, como en los bancos, x ejemplo, que tiras para atras en el navegador y actualizas y no se ven los datos de cache, etc, sabeis de que hablo no?¿ las sesiones las rompo pero quedan en cache las webs que he visitado y leo todo tirando para atras y actualizar comprendeis¿? muchas gracias al que sepa esto o al que colabore xk me lleva de cabeza

entrar.php


<?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


<?php
session_start
();

if(!isset(
$_SESSION['usuario1']))
{

$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (
strlen($usuario)<|| strlen($usuario)>15)
{
      echo  
"El usuario esta entre 8 y 15 caracteres<br>";      
      return 
false;
   }

if (
strlen($pass)<|| 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($validossubstr($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



<?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:


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?¿
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

tecasoft

#1
de momento he puesto esto en el Apache y he notado un cambio, no me sale la web de refrescar ME SALEN DIRECTAMENTE LOS DATOS, que me pasa con la cache?¿? e provado en chrome, FF,IE  y nada no consigo ningun resultado con la cache:


<FilesMatch "\.(php|cgi|swf)$">
Header unset Cache-Control
Header unset Expires
Header unset Last-Modified
FileETag None
Header unset Pragma
</FilesMatch>
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits