<?php
function newRememberMeCookie($id)
{
// generate 64 char random string and store it in current user data
$random_token_string = hash('sha256', mt_rand());
$sql = "INSERT INTO lib_usercookies(user_id, user_cookies) VALUES (:user_id, :user_cookies)";
$stmt = $this->_db_connection->prepare($sql);
$stmt->bindValue(':user_id', $id, PDO::PARAM_INT);
$stmt->bindValue(':user_cookies', $random_token_string, PDO::PARAM_STR);
$stmt->execute();
// generate cookie string that consists of userid, randomstring and combined hash of both
$cookie_string_first_part = $random_token_string;
$cookie_string_hash = hash_hmac('sha1', $cookie_string_first_part, "1gp@TMPS{+$78sfpMJFe-92s");
$cookie_string = $cookie_string_first_part . ':' . $cookie_string_hash;
// set cookie
setcookie('cri1432', $cookie_string, (time() + 60 * 60 * 24), '/', ".127.0.0.1");
}
var_dump(newRememberMeCookie(1));
preferences:
31.77 ms | 402 KiB | 5 Q