PHP の Cookie とセッションに関する問題
PHP では、Cookie と比較して、Cookie がクライアントに保存され、サーバーのハードドライブを占有しない点を除いて、セッションと比較した利点は何ですか?
PHP がページを処理する場合、サーバー上でページが生成された後にそのページがクライアントに送信されます。データが Cookie にキャッシュされている場合は、最初にデータをクライアントに送信し、次にデータを送信する必要があります。にアクセスしたとき、クライアントの Cookie に保存されているデータをサーバーに送信し、処理してクライアントに送り返します。これは、セッション キャッシュ データを使用する場合よりも 2 回多くのデータ送信プロセスが必要なようですか? (セッションはサーバー上でのみ読み取られ、ネットワーク送信は排除されます?)
これが正しい理解かどうかわかりません。この場合、Cookie を使用してデータをキャッシュするメリットはないと感じます...
アドバイスをお願いします~
ありがとうございます!
(サーバーが php ファイルを処理するときにクライアントからデータを再度読み取る必要がなく、クライアントが自動的に処理するように、クライアント上にデータをキャッシュする、もう少し単純なテクノロジはありますか? つまり、サーバー データをキャッシュする必要があるページにマークを残します。クライアントがマークを読み取ると、キャッシュされたデータがロードされます...)
----- -解決策- ------------------
もちろん、それをサポートするのに十分なメモリがある場合、セッションにデータを保存することはできますか?
おっしゃることはjs+cookieを使えば実現できますが、cookieで保存できる内容も限られていて、また偽造が容易であるという問題があります。
------解決策----------------------
COOKIE は公開されており安全ではありません。サーバーが信じているものをクライアントがプログラムしなかったら大変です。
COOKIE は回帰可能なセッション テクノロジであり、その有無はサーバーのロジックとセキュリティに影響を与えません。
ユーザーがログインした後、そのユーザーに COOKIE を送信して、ユーザーがログインしたことをマークするだけです。 。
悪者がこの COOKIE の形式を解析する限り、どんなアカウント名でもでっち上げることができます。これは冗談ではありません。 。
クライアントが直接触れる可能性のあるものはすべて安全ではありません。
------解決策----------------------
では、大量のキャッシュデータを削除するにはどうすればよいですか削除されたレコードから関連コンテンツを削除してはどうでしょうか?
特に、各データベース クエリに和集合やデカルト積などの多数の演算が含まれる場合、結果セットの内容が大きく変化する可能性があります (削除されたレコードに関連する和集合やデカルト積は存在しません)。
------解決策---------
さらに、SESSION と COOKIE はユーザーにプライベートです
そして、レコードの削除は公開イベントです。A がレコードを削除しても、B にとって無効になるとは言えません。
現在オンラインのユーザーが 10,000 人いると仮定します。そのキャッシュをどのように更新するつもりですか?