バージョン選択

フォーラム

メニュー

オンライン状況

87 人のユーザが現在オンラインです。 (79 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 87
もっと...

サイト内検索

質問 > 管理機能 > $_COOKIE['ECSESSID']の値が消える?

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hashibata
投稿日時: 2017/7/22 1:14
対応状況: −−−
半人前
登録日: 2016/3/30
居住地:
投稿: 11
$_COOKIE['ECSESSID']の値が消える?
お世話になります。

EC-CUBE2.13.5を使用しています。

サイトを公開してから1ヶ月。
特に不具合などはなかったのですが
最近、ポツポツと注文が失敗する現象が起きはじめました。

どうしてだろうと思って主要な値をログに出力してみると
$_COOKIE['ECSESSID']の値が決済途中に突然空になっているのです。
(普段はハッシュ値みたいのが入っています)

自分でもアクセスしてみてクッキーの値を見ても
期限は「ブラウザの終了まで」となっているし
複数の人で同じ現象が起きているので、お客様が自分でブラウザの設定をいじって
クッキーをクリアしたとも考えにくいです。

ソースコードを、目を皿のようにして探しても
関係がありそうな部分が見つかりません。

セッションをDBで管理しているからと安心して
Webサーバを2台にしてしまったせいなのでしょうか?
(ソースコードはNFSで共有しています)

もし同じ現象を過去に解決した経験のある方、アドバイスいただけないでしょうか?

もし何かしらヒントのようなものでもあれば
後は自分で調べます。

よろしくお願いします!
468
投稿日時: 2017/7/22 9:09
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: $_COOKIE['ECSESSID']の値が消える?
注文の失敗の原因は、Cookieの喪失(セッション切れ?)で間違いなさそうでしょうか?
注文に失敗した事によって、Cookieの中身が空になっているという可能性はありませんか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

hashibata
投稿日時: 2017/7/22 9:50
対応状況: −−−
半人前
登録日: 2016/3/30
居住地:
投稿: 11
Re: $_COOKIE['ECSESSID']の値が消える?
468さん

ご指摘の通り、記録していたのは$_COOKIE['ECSESSID']の値なので、
クッキーが喪失していたのか、単に値が空になっていたのかは不明です。
注文に失敗するとクッキーの値を空にする機能があるのですね。
もしかしたらそこが原因かもしれません。
だいたいどこら辺を見ればよいでしょうか?
468
投稿日時: 2017/7/24 9:45
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: $_COOKIE['ECSESSID']の値が消える?
紛らわしい投稿をしてしまい、大変申し訳ございません。
通常、Cookieが消えるような機能は無いのですが、予期せぬエラーですので、
もしかしたら、という事で質問させていただきました。
なので、Cookieが消えた事によるエラーなのか、エラーが原因でCookieが消えたのかは分からないです。

ただ、私が今まで複数サーバを建てて、セッションをDB管理にした場合でも、
突然、Cookieが消えるという事は無かったです。
ユーザーがしばらく操作しなかった場合、PHP側のセッションがphp.iniの設定などによっては切れる事もあると思いますが、その可能性はありそうですか?(デフォルトで約20分でしたでしょうか?)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

hashibata
投稿日時: 2017/7/28 11:23
対応状況: −−−
半人前
登録日: 2016/3/30
居住地:
投稿: 11
Re: $_COOKIE['ECSESSID']の値が消える?
468さん

こちらこそ早とちりしてしまい申し訳ありませんでした。

セッションについて

PHPは原則としてphp.iniのsession.gc_maxlifetimeを見ています。
この場合のデフォルトは24分間 (1440秒)で、これを超えると
一定の確率で消えるようになっていますね。

しかしec-cubeに関してはこの値を見ておらず
「パラメーター設定のMAX_LIFETIME(DBセッションの有効期限(秒)」が上記の設定に相当するようです。

併せて
・SESSION_LIFETIME(それっぽい名前ですが)
また今回はPC onlyサイトということで、
・MOBILE_SESSION_LIFETIME
上記2つはあまり関係がありませんでした。

今回の問題の流れとしては
$_COOKIE['ECSESSID']がないのにセッションの値が取れるというのは
ありえないため、あくまで問題はCookieだと考えています。

確かにCookieが突然消えるというのはなかなか聞きませんよね。
私も初めてのケースです。
ただそうなるとブラウザのバグとかいう話になりますから
このフォーラムは関係なくなりそうです。
もう少しサイトを動かしながら、ログ情報を収集し
何か分かりましたらまた書かせていただきます。

どうもありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,301名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.