PHPのセッションで質問です。

セッション変数には大容量のデータは格納するべきでない?
お問合せ管理を作成しているのですが、対応済み、未対応などのお問合せデータをセッションに保存しようと考えています。
そんなにデータ数は多くないので、この場合は問題ないかと思いますが、実際にはセッションに保存するデータの容量についての考え方が説明してあるサイトなどを教えてください。回答者自ら説明していただいても結構です。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/03/23 12:12:17
  • 終了:2006/03/23 23:31:09

ベストアンサー

id:canadie No.4

canadie回答回数6ベストアンサー獲得回数12006/03/23 18:56:13

ポイント30pt

http://www.php.net/manual/ja/ref.session.php (←ダミーです)

セッションに保存するデータのサイズですが、数十KB程度の情報であれば特に問題になることはないでしょう。データは通常サーバ側のハードディスクに保存されますので、アクセス数もふまえて保存先のディスク(のパーティション)の容量を十分に確保しておけば心配ないと思います。

ただし、あまりに大きなデータ(100MBとか)を保存できるようにしてしまうと、セッションIDを大量に発行してハードディスクの容量を圧迫するような攻撃が可能となる場合がありますので、この点は注意した方がよいかと思います。

id:rizo

ありがとうございます。大変参考になりました。

2006/03/23 23:29:52

その他の回答(3件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012006/03/23 12:20:57

ポイント10pt

http://www.php.net/manual/ja/ref.session.php

セッションはクッキーを利用します。

http://www.google.co.jp/search?hs=CpF&hl=ja&client=firefox&r...

クッキーは4KBが上限であり、phpがセッション管理に使う分もありますので実運用的にはお問い合わせデータなどは多くても半分の2KB程度までにしておくほうが無難です。

id:rizo

今回はクッキーを使用しない形でセッションを使用しています。クッキーを使う場合は4KBなのですね。

2006/03/23 12:48:06
id:tadashi0805 No.2

tadashi0805回答回数287ベストアンサー獲得回数292006/03/23 12:22:01

ポイント30pt

マニュアルを見ても、特に大きさの制限は書いてないですね。

http://php.oss.eznetsols.org/manual/ja/ref.session.php

実際、数MBのファイルのアップロード処理をセッションを使って作ったことがあります。

この程度であれば、処理そのものは問題ありませんでした。

ただ、Webサーバは同時に何人も接続しに来ますので、それぞれが同じことをしてセッション毎に数MBのメモリを食うようになっていると、あっと言う間にメモリ不足に陥りますので、何らかのガードを施すなのの処置が必要になるかと思います。

id:rizo

数MBですか!すごいですね。

どんなに多くても数万件程度のデータですので、

あまり気にする必要はないんですかね。

ありがとうございました。

2006/03/23 12:52:19
id:Sampo No.3

Sampo回答回数512ベストアンサー獲得回数1012006/03/23 14:49:11

ポイント30pt

http://www.php.net/manual/ja/ref.session.php

(ポイントは不要です)

kn1967 さんの回答を訂正。

クッキーを利用しているのは、あくまでセッション番号の管理のためです。セッションに保存したデータそのものはサーバのハードディスク上に保管されるため、クッキーの容量はセッションのデータ上限とは無関係です。

id:rizo

セッションのデータはサーバのメモリー上ではなくハードディスク上に保存されるということですね。ありがとうございます。

2006/03/23 15:03:11
id:canadie No.4

canadie回答回数6ベストアンサー獲得回数12006/03/23 18:56:13ここでベストアンサー

ポイント30pt

http://www.php.net/manual/ja/ref.session.php (←ダミーです)

セッションに保存するデータのサイズですが、数十KB程度の情報であれば特に問題になることはないでしょう。データは通常サーバ側のハードディスクに保存されますので、アクセス数もふまえて保存先のディスク(のパーティション)の容量を十分に確保しておけば心配ないと思います。

ただし、あまりに大きなデータ(100MBとか)を保存できるようにしてしまうと、セッションIDを大量に発行してハードディスクの容量を圧迫するような攻撃が可能となる場合がありますので、この点は注意した方がよいかと思います。

id:rizo

ありがとうございます。大変参考になりました。

2006/03/23 23:29:52

コメントはまだありません

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません