0

私が開発しているWebサイトで、現在、ユーザーがログインしているかどうか、Cookieが設定されているかどうかを確認しています。問題は、私がこれらの情報をデータベースでのリクエストに使用し、彼が Web サイトでいくつかのタスクを実行できるようにすることです。ただし、ユーザーが Cookie を編集すると、別の誰かになれる可能性があることに気付きました (ユーザー名/ID の編集)。それで、それを保護する方法はありますか、それともセッションを使用する必要がありますか?

4

2 に答える 2

5

はい、クッキーを使用できます。ユーザーが認証されたことを意味するトークンではなく、ユーザーの認証に使用できるデータを Cookie が提供することを確認する必要があります。

悪いクッキー:

username=foo,logged_in=true

良いクッキー:

token=uifhjrjf4093jf3904j90j390kf934j8438j0493jf9034

次に、認証データをサーバー上のデータストアと比較します。

セッションを使用する必要がありますか?

セッションは、ユーザー (認証されているかどうかに関係なく) に関する情報を一時的に保存する方法です。それらは問題の一部を解決するための迅速かつ簡単な方法であり、「私はしなければなりませんか?」という反応を引き起こすべきものではありませ。:( .

ほとんどのセッション ライブラリは、Cookie を使用して、セッションに関連付けられたデータのコレクションをセッションが属するブラウザーにリンクするトークンを格納します。

于 2012-11-09T17:13:42.830 に答える
2

私が通常行っているのは、Cookie にランダムなハッシュを指定し、それをデータベース テーブルにポイントさせて、完全なブラウザ文字列、存続時間、最終アクセス時間、ユーザー名、およびハッシュ化されたパスワードを保存することです (ユーザーが危険にさらされたためにパスワードを変更した場合、パスワードを変更したセッションを除くすべてのセッションが無効になります)。

于 2012-11-09T17:16:40.797 に答える