joer, no consigo que me funcione.
podrias ponerme un ejemplo por favor?¿
yo he echo esto:
tengo 2 archivos
login-form.php ,
login-action.php.
en los 2 eh puesto la funcion que me has dao..
Código PHP:
function generateFormToken($formName)
{
$token = md5(uniqid(microtime(), true));
$_SESSION[$formName.'_token'] = $token;
return $token;
}
function verifyFormToken($formName)
{
$index = $formName.'_token';
// There must be a token in the session
if (!isset($_SESSION[$index])) return false;
// There must be a token in the form
if (!isset($_POST['token'])) return false;
// The token must be identical
if ($_SESSION[$index] !== $_POST['token']) return false;
return true;
}
en login-form.php eh puesto esto:
Código PHP:
$newToken = generateFormToken('loginForm');
####mi formulario####
echo "<input type='hidden' name='token' value='$newToken'>";
y en login-action.php esto:
Código PHP:
if (!verifyFormToken('loginForm')) {
die('CSRF Attack detected OR External form processing detected');
}
y no funciona por que siempre aparece :CSRF Attack detected OR External form processing detected
gracias por su ayuda..
saludos