Buenas tardes.
Miren, yo para controlar que un usuario acceda por ejemplo a admin.php hago lo siguiente:
Código PHP:
Ver original<?php
if ( !empty($_SESSION['admin']) ) // Si NO ESTÁ VACÍA la sesión echo "Usuario con acceso a administración";
?>
Y cuando se loggean hago lo siguiente:
Código PHP:
Ver original$_SESSION['admin']="nombre_del_usuario";
La cuestión es la siguiente: al hacer empty no compruebo el valor de la sesión, yo podría colar un PHPSESSID falso a través de una cookie y se crearía en mi sistema.
Código MySQL:
Ver original+----------------------------+----------------------------------------------+
| id_de_la_sesion | contenido_de_la_sesion |
+----------------------------+----------------------------------------------+
| cacsihuv6r4s7h3f9l4cjpj694 | |
La pregunta es, aunque consiga crearla, EMPTY NUNCA me dará acceso a la web aunque falsee el PHPSESSID y lo meta en el sistema? Dado que no compruebo nunca el valor.