Remove remember me token only for the current device (#7799)
* Remove remember me token only for the current device * Update user_profile.php
This commit is contained in:
@@ -406,7 +406,6 @@
|
|||||||
$array['users'][$x]['salt'] = null;
|
$array['users'][$x]['salt'] = null;
|
||||||
|
|
||||||
//remove remember me tokens
|
//remove remember me tokens
|
||||||
setcookie('remember', '', time() - 3600, '/');
|
|
||||||
$sql = "update v_user_logs ";
|
$sql = "update v_user_logs ";
|
||||||
$sql .= "set remember_selector = null, ";
|
$sql .= "set remember_selector = null, ";
|
||||||
$sql .= "remember_validator = null ";
|
$sql .= "remember_validator = null ";
|
||||||
@@ -415,6 +414,10 @@
|
|||||||
$database->execute($sql, $parameters);
|
$database->execute($sql, $parameters);
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
|
//unset remember me cookie
|
||||||
|
unset($_COOKIE['remember']);
|
||||||
|
setcookie('remember', '', time() - 3600, '/');
|
||||||
|
|
||||||
//send the password changed email
|
//send the password changed email
|
||||||
if (valid_email($user_email)) {
|
if (valid_email($user_email)) {
|
||||||
//generate email and body variables
|
//generate email and body variables
|
||||||
|
|||||||
+15
-8
@@ -31,14 +31,21 @@
|
|||||||
$logout_destination = $settings->get('login', 'logout_destination', PROJECT_PATH.'/');
|
$logout_destination = $settings->get('login', 'logout_destination', PROJECT_PATH.'/');
|
||||||
|
|
||||||
//remove remember me token
|
//remove remember me token
|
||||||
setcookie('remember', '', time() - 3600, '/');
|
if ($_COOKIE['remember']) {
|
||||||
$sql = "update v_user_logs ";
|
$cookie_selector = explode(":", $_COOKIE['remember'])[0];
|
||||||
$sql .= "set remember_selector = null, ";
|
|
||||||
$sql .= "remember_validator = null ";
|
$sql = "update v_user_logs ";
|
||||||
$sql .= "where user_uuid = :user_uuid ";
|
$sql .= "set remember_selector = null, ";
|
||||||
$parameters['user_uuid'] = $_SESSION['user_uuid'];
|
$sql .= "remember_validator = null ";
|
||||||
$database->execute($sql, $parameters);
|
$sql .= "where remember_selector = :remember_selector ";
|
||||||
unset($sql, $parameters);
|
$parameters['remember_selector'] = $cookie_selector;
|
||||||
|
$database->execute($sql, $parameters);
|
||||||
|
unset($sql, $parameters);
|
||||||
|
|
||||||
|
//unset cookie
|
||||||
|
unset($_COOKIE['remember']);
|
||||||
|
setcookie('remember', '', time() - 3600, '/');
|
||||||
|
}
|
||||||
|
|
||||||
//destroy session
|
//destroy session
|
||||||
session_unset();
|
session_unset();
|
||||||
|
|||||||
Reference in New Issue
Block a user