Siento el doble post pero vengo a proponer algo y es el siguiente código que me he inventado:
Código PHP:
Ver original<?php
if(isset($_SESSION["csrf"]) && isset($_COOKIE["csrf"])){ if(md5($_SESSION["csrf"]) == $_COOKIE["csrf"]){ unset($_SESSION["csrf"]); $_SESSION["csrf"] = "xxxxx"; //Cada uno de los "x" será un rand(1, 9)
setcookie ("csrf", md5("xxxxx"), time() + 86400); //Cada uno de los "x" será un rand(1, 9) //Pongo que la cookie dure un día, no creo que alguien esté 24h sin hacer ningún cambio y si lo está, le enviará a la página de error.
}else{
unset($_SESSION["csrf"]); $_SESSION["csrf"] = "xxxxx";
header("Location: error.php"); }
}else{
unset($_SESSION["csrf"]); $_SESSION["csrf"] = "xxxxx";
header("Location: error.php"); }
¿Este serviría y sería totalmente seguro?
Muchas gracias