query("DELETE FROM jumi_securitytokens WHERE securitytoken ='$token_neu' AND identifier = '$identifier' "); } //Cookies entfernen session_destroy(); setcookie("identifier","",time()-(3600*24*365)); setcookie("securitytoken","",time()-(3600*24*365)); header("location:../dashboard/login.php"); } function random_string() { if(function_exists('random_bytes')) { $bytes = random_bytes(16); $str = bin2hex($bytes); } else if(function_exists('openssl_random_pseudo_bytes')) { $bytes = openssl_random_pseudo_bytes(16); $str = bin2hex($bytes); } else if(function_exists('mcrypt_create_iv')) { $bytes = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM); $str = bin2hex($bytes); } else { //Bitte euer_geheim_string durch einen zufälligen String mit >12 Zeichen austauschen $str = md5(uniqid('#!af445bsvjke34vas', true)); } return $str; } //Automatischer Login #if ($function != 'login') { if ($function == '') { if(!isset($_SESSION['userid']) && isset($_COOKIE['identifier']) && isset($_COOKIE['securitytoken'])) { $identifier = $_COOKIE['identifier']; $securitytoken = $_COOKIE['securitytoken']; $result = $db->query("SELECT * FROM jumi_securitytokens WHERE identifier ='$identifier'"); $securitytoken_row = $result->fetch_array(); ## $statement = $pdo->prepare("SELECT * FROM jumi_securitytokens WHERE identifier = ?"); ## $result = $statement->execute(array($identifier)); ## $securitytoken_row = $statement->fetch(); if(sha1($securitytoken) !== $securitytoken_row['securitytoken']) { # die('Ein vermutlich gestohlener Security Token wurde identifiziert'); header("location:../dashboard/login.php"); } else { //Token war korrekt //Setze neuen Token $neuer_securitytoken = random_string(); # $insert = $pdo->prepare("UPDATE jumi_securitytokens SET securitytoken = :securitytoken WHERE identifier = :identifier"); # $insert->execute(array('securitytoken' => sha1($neuer_securitytoken), 'identifier' => $identifier)); $token_neu = sha1($neuer_securitytoken); $update = $db->query("UPDATE jumi_securitytokens SET securitytoken ='$token_neu' WHERE identifier = '$identifier' "); setcookie("identifier",$identifier,time()+(3600*24*365)); //1 Jahr Gültigkeit setcookie("securitytoken",$neuer_securitytoken,time()+(3600*24*365)); //1 Jahr Gültigkeit $_SESSION['angemeldet_bleiben'] = 1; //Logge den Benutzer ein $_SESSION['userid'] = $securitytoken_row['uid']; $redirect = $_SESSION['cur_page']; if($redirect != ''){ header("location:$redirect"); }else{ header("location:../dashboard/index.php"); } } }else{ if(!isset($_SESSION['userid'])){ header("location:../dashboard/login.php"); } } } if ($function == 'login') { $mail=strtoupper($_POST["mail"]); //remove case sensitivity on the mail $password=$_POST["password"]; if($_POST["mail"] != ""){ $_SESSION["global_mail"]=$mail; } if($mail == "" OR $password == ""){ echo '