2011-12-09 18 views
0

私は現在、ユーザーがログインするたびにトークンとユーザーIDを格納します。トークンはユーザーテーブルとCOOKIEに格納されています。安全に認証します

したがって、ユーザー1でログインし、次の詳細は、彼の コンピュータ上COOKIEし、データベースに格納されます。

  • ID
  • 彼が異なるにログインするたびにランダムトークン

生成トークンが生成されます。

ユーザーを認証するために、ユーザーが自分のサイトにアクセスするたびに、トークンが特定のCookieのデータベースに格納されているものと一致するかどうかを確認します。

しかし、問題は、データベースを絶えずチェックすることはリソースの無駄ですが、どのようにしてユーザーが自分の人物であることを確認するのでしょうか?簡単にIDを変更して他のユーザーの情報にアクセスできるので、IDをクッキーに保存するだけではありません。

ありがとうございました!変数が設定されている場合、各ページのチェックの先頭に続いて$_SESSION['id'] = $randomstring; :クッキーをチェックし、確認の物流を扱う

<?php if(isset($_SESSION['id'])) $loggedin; 
      else $logout; 
?> 
+0

私のCookie IDの値を変更するとどうなりますか?そのユーザーになるのですか? – rook

答えて

2

は、次のような$_SESSION変数を使用することができますそのデータは実際にそのユーザーのセッション用であることを確認します。 $ _SESSIONを使用する前にセッションを開始する必要がありますが、それはセッションデータを格納する1つの方法です。

http://php.net/manual/en/function.session-start.php

0

使用にsession_start()を

関連する問題