A estas alturas, huelga decir, que es mucho más sencillo y seguro utilizar sesiones en vez de cookies, para almacenar información temporal sobre el usuario conectado al sistema.

Habitualmente necesitamos guardar el estado de datos tales como el ID de usuario conectado, y tenerlos disponibles durante toda la aplicación.

Es evidente que si almacenamos el ID de usuario en una cookie, la manipulación de ese dato, es tan sencilla como editar un en nuestro disco duro.

A nivel de rendimiento, también es mucho más eficiente utilizar sesiones, aproximadamente un 400% más veloces.

Con este artículo, no quiero decir que no debemos usar cookies, ya que son indispensables cuándo lo que se necesita es almacenar información durante más de una sesión, o bien si necesitamos poder leerla y guardarla desde Javascript. En cambio, en el resto de situaciones, es una técnica mucho más recomendable utilizar variables de sesión.

<?php
set_time_limit(0);

//Cookies
$iInicio=microtime(true);
for ($iCount=100000; $iCount>0; $iCount--)
{
setcookie('int', $iCount);
setcookie('string', 'guti');
$vTmp=$_COOKIE['int'];
$vTmp=$_COOKIE['string'];
}
$iFin=microtime(true);
echo ($iFin-$iInicio)*1000 . '<br>';


//Sessions
$iInicio=microtime(true);
session_start();
for ($iCount=100000; $iCount>0; $iCount--)
{
$_SESSION['int']=$iCount;
$_SESSION['string']='guti';
$vTmp=$_SESSION['int'];
$vTmp=$_SESSION['string'];
}
$iFin=microtime(true);
echo ($iFin-$iInicio)*1000 . '<br>';
?>