2016-10-29 5 views
0

Ich habe ein Problem mit meinem MVC-Framework, meine gesamte Website verwendet eine einzige Sitzung ID, so wenn ich mich mit meinem PC anmelden, sobald ich die Website mit einem anderen Gerät besuchen, das Gerät verwendet gleiche Sitzung, weiß jemand, wo das Problem sein könnte dies der Code in meiner sessions.php Datei ist, wo Sitzungen festgelegt werdenphp erstellt keine eindeutige Sitzung

public static function set($value,$key) 
{  
    $_SESSION[$key] = $value; 
} 

und unten ist meine Login-Funktion

$email = $_POST['email']; 
    $password = $_POST['password']; 
    $password = md5($password); 
    $statement = $this->db->prepare("SELECT * FROM users WHERE email=:email AND password=:password"); 
    $statement->execute(array(':email'=>$email,':password'=>$password)); 

    $results = $statement->fetch(PDO::FETCH_ASSOC); 
    $count = $statement->rowCount(); 

    if ($count>0) { 
     $id = $results['id']; 
     session::init(); 
     session::set($id,"id"); 

     echo json_encode(array('status'=>true)); 
    } 
+1

Keine Antwort, aber die Verwendung von MD5 für die Passwortspeicherung ist sehr schwach. Schau dir passwort_hash() an! Ich denke auch, dass der relevante Teil des Codes in Session :: init() ist. –

+0

'Sitzungs-ID' wo? –

Antwort

0

Sie haben ...

session::set($id,"id"); 

Und Ihre Funktion, einmal mehr ..

public static function set($value,$key) 
{  
    $_SESSION[$key] = $value; 
} 

Sie den Schlüssel von „id“, was auch immer Einstellung der „id“ ist der Eintrag in der Datenbank. Es gibt keinen Grund, diesen Wert zu ändern, es sei denn, Sie ändern ihn in der Datenbank.