Efectivamente la funcionalidad de logra a través del uso de cookies. Usualmente en esas cookies se guarda el apodo del usuario en el sitio y algún otro dato "secreto" que lo identifique como tal (generalmente se usa enviar el user password encriptado en
MD5).
Para enviar una cookie utilizas la función setcookie de PHP:
http://php.net/manual/en/function.setcookie.php en la cual en su 3º parámetro especificas cuánto tiempo debe tener validez. Tal como podrás ver en el ejemplo del sitio de PHP para establecer una duración de 30 días lo haces con
time()+60*60*24*30 (el timestamp actual más la cantidad de segundos que hay en 30 días).
Por otra parte cuando el usuario hace click en algún botón de "log out" se suele eliminar esta cookie con la misma función que utilizas para crearla (hay un ejemplo también en el sitio de PHP).
Saludos.