ホームページ  >  記事  >  バックエンド開発  >  PHP Cookie とセッションのメカニズム

PHP Cookie とセッションのメカニズム

WBOY
WBOYオリジナル
2016-10-11 14:23:15990ブラウズ

親愛なるマスターの皆様、私は Cookie とセッションのメカニズムについてあまり詳しく知りませんでした。何か参考になる情報はありますか?

返信内容:

親愛なるマスターの皆様、私は Cookie とセッションのメカニズムについてあまり詳しく知りませんでした。何か参考になる情報はありますか?

実際、質問をして検索エンジンにアクセスすると、多くの答えが得られます。

Cookie とセッションはどのように解決するのでしょうか? 実際、これら 2 つの問題を理解すれば、その動作が自然に理解できるようになります。仕組みが分かりました


    Cookieとセッションはどのような問題を解決しますか?
これは、ステートレスである (前のリクエストと次のリクエストが同じユーザーからのものであるかどうかを識別できない) http プロトコルの固有の欠陥を補います。

どうやって解決しますか?
  1. サーバー側で
  2. を保存し、それをサーバー側に持ってくると、サーバーはリクエストが同じユーザーからのものであるかどうかを区別できます。

上記は Cookie とセッションの仕組みについての単純な答えです。具体的な答えは、これら 2 つの質問で検索できます。 key=>value的值, 并把这个key通过cookie进行传送. 每次客户端请求的时候, 把这个key

実装原則を理解する前に、まず 2 つの役割を区別してください。

Cookie - ブラウザー内に存在するキャッシュ データの一種で、ブラウザーによって (設定で) オフにすることができます。ブラウザが Cookie をオフにすると、Cookie は利用できなくなります。現在では、一般的に Cookie をオフにする人はいません。

Cookie はブラウザから発生するため、

基本的に誰でも Cookie を変更できます

。安全ですか?もちろん安全ではありません。では、この時にどうすれば安全になれるのでしょうか?必ずSessionをご利用ください。

セッション - 名前が示すように、「セッション」はサーバーに保存され、ユーザーのブラウザに保存される Cookie とは異なります。そしてそれはCookieに基づいています。 Cookie が無効な場合、セッションは正しく動作しません。 Session はその Session_id を Cookie に入れるためです。 Web サイトのサーバーと通信するたびに、サーバー側プログラミング言語は Cookie 内の session_id を取得し、サーバーに保存されているセッション データを読み取ることができます。
session_id は非常に重要です。 Cookie をオフにした後もセッションを有効にしたい場合はどうすればよいですか?各リクエストにはヘッダーに kv が含まれており、これにより session_id が提供されます。 。 。かくかくしかじか。 。 。これはまだ学ぶ必要はないと思いますが、これは単なる余談です。

COOKIE—データはユーザーが現在使用しているブラウザに保存されます(ブラウザを変更すると、以前のCOOKIEは失われます)、セキュリティは弱いです


セッション - データは強力なセキュリティを備えたサーバーに保存されます。ブラウザを変更すると、再度ログインする必要があります。依存する Cookie もブラウザによって異なるためです。


次に、Cookieとセッションを使用するにはどうすればよいですか?それを学ぶことができます。

セッションは Cookie または get パラメータに基づいて実装できますが、セッションと Cookie の関係を大まかに理解するには、MySQL メモリ テーブルを使用してセッション ストレージを実装する次の例を見てください。 リーリー

データベースに基づいてカスタマイズされた Cookie セッション メカニズムを実装します。

この Cookie はユーザーを認証するだけでなく、偽造したり解読したりすることもできません。 リーリー

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。