Buenas a todos
Estoy programando una pagina en php por vez primera, y me surge esta duda.
Por ahi he leido que si uso lo siguiente
pagina1.php
Código PHP:
session_start();
session_register('var');
alguien puede usar lo siguiente:
Código:
pagina1.php?var='valor_trampa'
de manera que pueden acceder a esta pagina forzando el valor de la variable
var al valor que el usuario quiera
¿Por qué tengo esta duda? Pues porque tengo una pagina donde se inserta el usuario y la contraseña, y, al postear, entra en una pagina que verifica que el usuario y la contraseña son correctas. En mi caso, lo verifico de la siguiente manera:
Entradacontrol.php >>> Control.php >>> Panelcontrol.php
Entradacontrol.php es donde inserto usuario y contraseña.
Control.php verifica que son correctos, de la siguiente manera
Código PHP:
session_start();
session_register('validado');
if (!$_POST)
{
// Lineas que comprueban si usuario y contraseña son correctas
If (!$correcto)
{
$_SESSION['validado']=false;
header("Location: entradacontrol.php"); //Se redirige a la entrada
}else{
$_SESSION['validado']=true;
header("Location: panelcontrol");
}
}
De esta manera, panelcontrol.php comprueba si
$_SESSION['validado'] es
true o
false, con el fin de que nadie pueda acceder al panel de control directamente tecleando panelcontrol.php.
Mi pregunta es: ¿es cutre?¿existe una forma mas clara o profesional de hacer esto?
Y ¿cuando termina una sesion? Porque lo que yo llamo sesion es al tiempo que el usuario está dentro del panel de control, pero si el usuario cambia a otra pagina, y le da a retroceder, sigue abierta la sesion. Esto no pasa por ejemplo cuando se cierra la ventana, ya que lo he implementado de esa manera.
Un saludo y perdon por el tostón