|
183
|
Programación / PHP / necesito ayuda con mi cookie de sesion
|
en: 20 Febrero 2013, 19:09 pm
|
wenas y gracias x responder ante todo, os explico el tema, mi web, tiene 2 campos, usuario y contraseña, acccedo mediante $_POST. Y me crea una cookie automaticamente de sesion, como puedo desde el principio configurarla para que no me hagan XSS etc etc, se el funcionamiento del XSS pero no se acceder a dicha cookie y manejarla, se crear cookies, pero no se acceder a esa desde el principio. Entenedeis que digo¿¿? que codigo es para acceder a ella?¿? e mirado este link y muchos ejemplos de como me pueden robar cookies y se como funciona el funcionamiento pero no lo consigo acceder a la cookie que me crea el sistema automaticamente. http://php.net/manual/es/function.setcookie.php
|
|
|
184
|
Programación / PHP / Re: como puedo proteger mis paginas webs
|
en: 5 Febrero 2013, 22:23 pm
|
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>
|
|
|
185
|
Programación / PHP / como puedo proteger mis paginas webs,problema con la cache
|
en: 3 Febrero 2013, 20:39 pm
|
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)<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
<?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?¿
|
|
|
186
|
Programación / PHP / Re: como cerrar sesiones en php
|
en: 19 Enero 2013, 18:28 pm
|
PHP Version 5.3.3-7+squeeze14 este es mi codigo le das para atras y actualizas y salen los datos: 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>
</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)<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 "Has entrado: ". $fila1['cod_admin'] ."<br>"; echo $_SESSION['usuario1'] ."<br>"; echo $_SESSION['contrasena']; echo "<br><a href='desconectar.php'>Desconectar</a>"; }
if($correcto==0) { 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");
//header("Location: entrar.php"); ?>
la tabla: -- -- ADMINISTRADORES -- 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;
si necesitas mas datos me lo dices...
|
|
|
189
|
Programación / PHP / tengo un problema al introducir el siguiente valor
|
en: 15 Enero 2013, 18:50 pm
|
quiero introducir donde esta el link http://www.tecasoft.com remplazarlo por $fila2['links'] como lo hago para que me funcione estoy probando y no me sale en que fallo: .........
if($correcto==1) { echo "<script language='javascript'>"; echo "location = 'http://www.tecasoft.com'"; echo "</script>";
//header("Location: " . $fila2['links']);
}
............
|
|
|
190
|
Programación / PHP / como cerrar sesiones en php
|
en: 13 Enero 2013, 01:02 am
|
no puedo cerrar mi sesion en php: he probado con session_destroy(); y un sin fin de pruebas y no me cierra le doy salir me la destruye* con session_destroy le doy para atras y vuelve a cargarme la pagina y datos de la base de datos.
COMO SE CIERRA CON PHP5 y si es fallo de php5¿¿¿?que pensais¿¿¿?
|
|
|
|
|
|
|