También puedes usar un código de control en un hidden, o por url, así:
http :// tupaginawebchula.com/blabla/carrito/index.php?token=CODIGO_UNICO
para generarlo, basta
Código PHP:
$TOKEN = uniqid();
Puedes hacer esto (en el inicio del script)
Código PHP:
// Suponemos que se ha hecho un session_start();
if(!isset($_SESSION['token'])) // Primera consulta
$_SESSION['token'] = false;
$_SESSION['oldtoken'] = $_SESSION['token'];
$_SESSION['token'] =& $TOKEN = uniqid();
if(!isset($_GET['token']) && !isset($_GET['token'+)) {
// no pasa nada, es la primera petición y todo está correcto.
} elseif(isset($_GET['token'])) {
// Validamos el token:
if($_GET['token'] != $_SESSION['oldtoken']) { $_GET = array(); $_POST = array(); }
// Puedes borrar solo algunos campos, si lo prefieres
} elseif(isset($_POST['token'])) {
// Validamos el token:
if($_POST['token'] != $_SESSION['oldtoken']) { $_GET = array(); $_POST = array(); }
// Puedes borrar solo algunos campos, si lo prefieres
} else {
die('es imposible que esto llegue a suceder');
}