バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > セッション管理をファイルにする時のSameSite=None を未サポート UA 向け対応

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
dogfeet
投稿日時: 2022/10/24 13:33
対応状況: −−−
新米
登録日: 2021/9/27
居住地:
投稿: 5
セッション管理をファイルにする時のSameSite=None を未サポート UA 向け対応
[EC-CUBE] 2.13.5
[OS] Amazon Linux AMI
[PHP] PHP5.6
[データベース] mysql5.6
[WEBサーバ] apache2.4

SC_Helper_Sesion.phpの__construct内を全てコメントアウトし、
SC_Helper_Plugin_Ex::getSingletonInstance
が呼び出される直前に
SC_Query_Ex::getSingletonInstance();
を呼び出すことで、フロント、管理画面共にセッションをファイル形式にできました。

ただ、以前公開されたバッチの
SameSite=None を未サポート UA 向け対応
https://github.com/EC-CUBE/ec-cube2/pull/374

をどのようにして実装するか分からないでいます。

SC_Helper_Sesion.phpの__construct内を全てコメントアウトを外し(元に戻して)

session_set_save_handlerのsfSessReadを

// SameSite=None を未サポート UA 向け対応
        if (empty($_COOKIE['ECSESSID']) && isset($_COOKIE['legacy-ECSESSID']) && $id !== $_COOKIE['legacy-ECSESSID']) {
            // session_id と $_COOKIE['legacy-ECSESSID'] が異なる場合は ECSESSID の cookie が拒否されたと見なす
            // GC_Utils_Ex::gfPrintLog('replace session id: ECSESSID=>legacy-ECSESSID');
            $id = $_COOKIE['legacy-ECSESSID']; // 互換用 cookie からセッションデータを読み込む
            unset($_COOKIE['legacy-ECSESSID']);
        }
        if (empty($arrRet)) {
            return '';
        } else {
            return (string)@file_get_contents("$this->savePath/$id");
        }


などとすれば良いかと思ったのですがエラーが出てしまいました。

またこの場合、session_set_save_handlerのreadの部分だけ改修すればいいかと思うのですが、
session_set_save_handlerを使う場合はread、write、destroyなど全て自前のセッション管理関数を用意しないといけないのでしょうか?

ご教示いただければ幸いです。

よろしくお願い致します。


nanasess
投稿日時: 2022/10/24 22:32
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: セッション管理をファイルにする時のSameSite=None を未サポート UA 向け対応
https://www.php.net/manual/ja/class.sessionhandler.php
上記を参考に、 SessionHandler クラスを継承したクラスを作成し、 SessionHandler::read() メソッドをオーバーライドして同様の処理を入れてやれば大丈夫かと思います
dogfeet
投稿日時: 2022/10/25 9:53
対応状況: −−−
新米
登録日: 2021/9/27
居住地:
投稿: 5
Re: セッション管理をファイルにする時のSameSite=None を未サポート UA 向け対応
ありがとうございます!
早速試させていただきます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.