1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
function reconnect_from_cookie(){
if(session_status() == PHP_SESSION_NONE){
session_start();
}
if(isset($_COOKIE['remember']) && !isset($_SESSION['auth']) ){
require_once 'db.php';
if(!isset($pdo)){
global $pdo;
}
$remember_token = $_COOKIE['remember'];
$parts = explode('==', $remember_token);
$user_id = $parts[0];
$req = $pdo->prepare('SELECT * FROM users WHERE id = ?');
$req->execute([$user_id]);
$user = $req->fetch();
if($user){
$expected = $user_id . '==' . $user->remember_token . sha1($user_id . 'ratonlaveurs');
if($expected == $remember_token){
session_start();
$_SESSION['auth'] = $user;
setcookie('remember', $remember_token, time() + 60 * 60 * 24 * 7);
} else{
setcookie('remember', null, -1);
}
}else{
setcookie('remember', null, -1);
}
}
} |
Partager