Gracias por la respuesta!
Cita:
Iniciado por pateketrueke
El asunto es que sólo el servidor saber que generó, y al recibir el formulario compararía dicho valor contra lo que le provee el usuario.
Obviamente sólo harán "match" si son el mismo, y además es un valor que se regenera con cada petición de modo que cada usuario crearía un valor único y que cambia en la siguiente petición, etc.
Esto es precisamente lo que no comprendo del todo bien, y es a lo q me refiero con un parámetro más (como te comentaba, quiza mi implementación está mal, q es lo mas seguro
)
Yo tengo un formulario de login, digamos, en mi index.php, en el cual creo un token, de la siguiente forma:
Archivo index.php
Código HTML:
Ver original<?php
$token = //Creamos el token con algún método para generar un 'código' aleatoirio o encriptado (o ambos)
$_SESSION['token'] = $token;
?>
<form action="ingresar.php" action="post"> <input type="text" name="user"> <input type="password" name="pass"> <input type="hidden" name="token" value="<?=$token?>">
<input type="submit" value="Ingresa">
Después en mi archivo ingresar.php tengo lo siguiente
Archivo ingresar.php
Código PHP:
Ver original<?php
$token_recibido = $_POST['token];
if($_SESSION['token']==$token_recibido){
//Comprobamos las demás variables para hacer el login
}
else{
//Acciones a seguir en caso de que el token no coincida
}
?>
Esa es la forma que yo entiendo de generar el token, pero a final de cuentas , es un valor más que se puede enviar desde una parte externa, y la sesión se crearía tan sólo con visitar mi página...
Sé que se pueden agregar más parámetros, como la caducidad del token o incluso otra session con el tiempo dado al usuario para realizar acciones , pero,
existe alguna otra forma más "segura"? o es q la implementación no es la correcta
Agradezco sus observaciones, saludos!!