2011-11-15 5 views
0

私はユーザーのコンピュータにクッキーを保存し、彼が戻ってきたときに、彼がクッキーを持っているかどうかチェックして、そのページを安全なページにリダイレクトします(私はクッキーがコンピュータ上で偽造される可能性があるので、理論上の質問)Cookieを使用しているときに、サーバーはユーザー情報をどのように知っていますか?

私はコンピュータに保存されているクッキーに基づいてユーザーをリダイレクトするだけなので、サーバーはどのようにすべてのユーザー情報/パスワードを知っていますか?

+0

正しく実行していれば、偽装することはできません... – Esailija

答えて

1

ファイルまたはデータベースに格納されている追加データにクッキーを関連付けます。

たとえば、ログイン時にusersテーブルにユーザーのレコードの横に挿入された、推測しにくいユニークなキーがCookieに含まれることがあります。コードはCookie値をチェックし、一致するユーザー。キーは定期的に変更する必要があります。

代わりに、サーバーに保存されているファイルにクッキーを関連付けるセッションを使用できます。セッション処理は、通常、オンラインストアのチェックアウトプロセスなど、より短い期間の活動のために予約される。

PHPは、セッション機能の多くを自動化できます。

http://www.php.net/manual/en/intro.session.php

あなたは技術のこれらの種類を使用する場合にセキュリティへの影響(セッションhighjacking)を研究したいと思います。

+0

'2 follow up question' a)Cookieの値をチェックして一致するユーザーのテーブルを照会すると、ログインできます。私は保存されているパスワードが塩漬けされている場合に行います。パスワードを必要としないのは、ユーザーを他のすべての情報で安全なページにリダイレクトできるだけなので、ユーザーのパスワードにアクセスする必要がある場合はどうすればよいですか? b)securepageでは、PHPでsession_startを使用していてもユーザー変数とCookie変数が設定されているかどうかを確認する必要がありますか? securepageにアクセスしているユーザーにセッションまたはCookieが設定されていることを確認するだけですか? (ランダムな人が安全なページにアクセスしないようにしてください) – CodeCrack

0

通常、サーバーはすべてのユーザーのセッションデータのコピーを保持し、一意のIDを与えます。 Cookie自体には、そのIDのコピーのみが保持されます。クッキーがサーバに提示され、session_startが呼び出されると、PHPはクッキー内のIDを使用して正しいセッションを復元します。

+0

クッキーが両方のサーバで同じ名前を持つ場合、ユーザのローカルコンピュータに保存されると、どのようにオーバーライドされませんか? – CodeCrack

関連する問題