2016-10-29 9 views
0

私のMVCフレームワークに問題があります。私のサイト全体が単一のセッションIDを使用していますので、デバイスが使用する別のデバイス同じセッションの問題は、これはあなたが持っているセッションがPHPはユニークなセッションを作成していません

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

を設定し、以下の私のログイン機能

$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

答えはありませんが、パスワード保存にmd5を使用すると非常に弱いです。 password_hash()を見てください!また、私はコードの関連部分がセッション:: init()にあると思います。 –

+0

'session id'どこですか? –

答えて

0

でいる私のsessions.phpファイル内のコードであるかもしれないところ、誰もが知っている...

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

そして、あなたの機能、一度詳細..

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

は、あなたが「ID」のキーを設定しているものは何でも「ID」がデータベース内のレコードです。この値は、データベース内で変更しない限り変更する必要はありません。

関連する問題