はじめまして。
現在、下記環境で開発をしております。
winXP
PHP5
smarty3
Mysql
開発は一般的な検索サイトです。
全て一人で行っているものなので規模は小さいものです。
ここで質問なのですが、今セッションとクッキーの使い方について自分で説明できなくなってしまっています。
実現できているからいい
そういうつくりになっていて個人的にはあまりうれしくない状態です。
下記が僕の見解です。
【サーバー側の一時記憶領域。
セッション】
アクセス中、一時的に値を確保したい場合に使っています。
・コンボボックスに表示する内容
・検索結果の配列
・会員情報
【クッキー】
クライアント側の記憶領域
クライアント依存があるものでクッキーが有効でない設定の人ものいそう、、
利用していません。
現状はクッキーは使用できていないのですが、インターネットなどで調べると、
↓クッキー↓
クッキーとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。
↓セッション↓
接続から切断までの通信の事
とありました。
この答えが全てだとは思いませんが、実際に値を一時的に格納するならどう考えてもクッキーが適任に思えてしょうがないのです。
ここで質問です。
場合による、となればそれまでかもしれませんが実運用されているシステムなど構築する場合、この二つの一時記憶領域をどのように使用するべきなのでしょうか?
持論、参考URLなどなんでも結構です。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>>クッキーとは、Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にデータを書き込んで保存させるしくみ。
そうですね、これに対してセッションは(セッション変数)
Webサイトの提供者が、Webブラウザを通じて訪問者のコンピュータに一時的にセッションIDを渡して、そのIDに対する変数をサーバー上で管理するものです。
つまり両方ともクライアント側にデータがありますが、格納される情報がまるで違います。そのデータを改ざんされて困るようなデータはクッキーに保存してはいけません。
回答です。
【セッション変数で管理すべきもの】
ログイン情報
ユーザーID&パスワードを入力して Aさんとしてログインを済ませましたという情報を持ち歩く必要があります。
たとえばWEBメール(niftyとか)の画面にこの機能が無い場合
URLを直打ちしてしまえば見られてしまいます。
【クッキーで管理すべきもの】
ユーザーID(Nifty等のログイン)
後日再度入力する必要があり 万が一そのデータが第三者にわたってもそれだけでは利用できない そしてクッキーを利用できないクライアントでも問題がない状態の場合。
早速のご回答ありがとうございます。
まず、質問返しになってしまい申し訳ないのですが、セッションIDを発行してクライアントを個人として認識できるということはわかります。
クライアントというか、「その通信」って事ですよね。
セッションIDがあれば「その通信」だとサーバーから見分けられる。
そして変数名は同じでも通信毎にプライマリな扱いになるのはセッションIDがあるからである。
うん、納得です。
>つまり両方ともクライアント側にデータがありますが、、、
ここが。。なんとも。
あっセッションIDのみクライアント側で保存する。
そういう事か!
なるほど!
クッキーにセッションIDを持たせて、そのIDで、、
なるほどです。そのIDでリクエストがあれば、サーバー側で認識できる。
そのIDにひもづく細かいデータはサーバー側に記憶される。
だから、セッションに格納しすぎるとサーバー付加が上がる。
なるほど。理解できました!(あってるのかな。。)
あとは、おっしゃるとおりパフォーマンスなどとは別に
「セキュリティ」という角度で考えたときに
問題のあるものはセッション。
問題ないものは、クッキーにあずけちゃう。
そういう事ですよね!
ありがとうございます!
セキュリティ>ユーザービリティの優先順位で格納する場所の判断基準ができました。
自分の実装に確固たる理由があるというのはいいものです。
すっきりします。
丁寧な解説ありがとうございましたmm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- Chrome(クローム) Cookieを削除 他サイトでの自動ログインなどの設定も削除されますか パソコン クロームです 1 2022/09/10 21:47
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- 法学 不正アクセス禁止法の扱いについて 4 2022/03/23 18:13
- サーバー メールサーバーについて詳しい方、メールサーバーの管理業務経験のある方、教えてください。 3 2022/11/12 18:24
- 日本語 「に」について 9 2022/10/25 16:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
php 入力画面から確認表示画面...
-
PHP8を使うと、大量のWarningが...
-
アップロード画像数でCSSを分け...
-
PHPSpreadsheetを使って関数を...
-
phpでcookieがうまく保存されない
-
ワードプレスサイト PHP8.0.25...
-
入力フォームの空白や改行を制...
-
PHP一覧表示した項目にリンクを...
-
オススメのプログラミングスク...
-
PHPでのパスワード制限のセキュ...
-
htmlのエラーについて(デバッグ)
-
アマゾンのような評価の星を選...
-
SFTPなどは使わないホームペー...
-
ファイルアップロードに関して...
-
Q&Aサイトを作成していてURLの...
-
画像が表示出来ません。
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
重複を防ぐ記述について教えて...
-
index.phpって何ですか? 具体...
-
awsにApacheとPHPを入れて、何...
-
phpでPEAR::DBを使っているので...
-
php 確認表示画面で値をSESSION...
-
PHPでユーザー情報を入力して簡...
-
ワードプレスサイト PHP8.0.25...
-
php 完了画面の送信メールのコ...
-
SFTPなどは使わないホームペー...
-
PHPのセッション有効期限について
-
csvファイルについて教えて下さ...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで訪問回数を表示するカウン...
-
ファイルアップロードに関して...
-
掲示板を作成しておりアップロ...
-
Q&Aサイトを作成していてURLの...
おすすめ情報