Hola, me gustaría preguntar de qué manera se puede evitar una cookie nula.
Por ejemplo, en un sitio existía un mecanismo de autenticación algo así (los nombres los he cambiado):
/adm/control.php
/adm/index.php
y al acceder a /adm/control.php se va a index.php porque no está registrada la variable de sesión.
Pero si modifico el contenido de la Cookie con tamper data así:
Se produce lo siguiente:
Entonces, mi pregunta es cómo evitar que session_start() se caiga ante un ataque así.
Por ejemplo, en un sitio existía un mecanismo de autenticación algo así (los nombres los he cambiado):
/adm/control.php
Código [Seleccionar]
<?php
session_start();
if ($_SESSION['auth'] != 'YES') {
header('Location: index.php');
}
echo 'Panel de admin';
?>
/adm/index.php
Código [Seleccionar]
<?php
echo 'No logeado';
?>
y al acceder a /adm/control.php se va a index.php porque no está registrada la variable de sesión.
Pero si modifico el contenido de la Cookie con tamper data así:
Código [Seleccionar]
PHPSESSID=
Se produce lo siguiente:
Código [Seleccionar]
Warning: session_start() [function.session-start]: The session id contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in C:\sitio\adm\control.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\sitio\adm\control.php:3) in C:\sitio\adm\control.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\sitio\adm\control.php:3) in C:\sitio\adm\control.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at C:\sitio\adm\control.php:3) in C:\sitio\adm\control.php on line 5
Panel de admin
Entonces, mi pregunta es cómo evitar que session_start() se caiga ante un ataque así.