Php:如何存储令牌并检索它以进行比较?

时间:2018-06-29 02:19:42

标签: php cookies

嗨,我正在创建一个令牌以与数据库中的某些记录进行比较以登录用户。我正在使用token = openssl_random_pseudo_bytes来设置此随机字符串,但是它在浏览器和数据库中的存储方式似乎有所不同。如何比较这两个字符串?

1 个答案:

答案 0 :(得分:0)

首先使用cookie方式设置值令牌

$value = "23asdoq23ARDAsdadq2";

// cookie will expire when the browser close
setcookie("tokenCookie", $value);

// cookie will expire in 1 hour or set it to your needs
setcookie("tokenCookie", $value, time() + 3600);

或将持续时间设置为0,以使cookie持续时间仅在用户浏览器关闭时结束

setcookie("tokenCookie", $value, 0);

然后检索cookie,并将从数据库中选择的令牌值与cookie令牌进行比较。

if(!isset($_COOKIE['tokenCookie'])) {
    $tokenCookie = $_COOKIE['tokenCookie'];

    // Assume you already retrieved the token value from the database and stored it to a variable then you just need to compare it..

    if( $tokenCookie == $token_value_from_database ){
        echo true;
    }else{
        echo false;
    }
}