バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > SameSite Cookie 対応時devモードでのエラー

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
be-s
投稿日時: 2022/8/19 16:05
対応状況: −−−
一人前
登録日: 2016/2/2
居住地: São Paulo
投稿: 115
SameSite Cookie 対応時devモードでのエラー
[EC-CUBE] 4.0.4
[レンタルサーバ] AWS EC2冗長化設定
[OS] Linux
[PHP] 7.3.14
[データベース] MySQL 5.7.28(RDS)
[WEBサーバ] Apache/2.4.25
[ブラウザ] Chrome
[セッション管理]PdoSessionHandler

いつもお世話になっております。

下記、SameSite Cookie 対応をおこなっているのですが
https://doc4.ec-cube.net/hotfix_samesite_cookie

prodモードでは出ないのですが
devモードにすると、管理画面、フロント画面ともにエラーが出てログインできなくなります。

エラー時に下記エラーが出ます。
良い対応方法は、ございますでしょうか?
大変お手数を掛けますが、ご回答を宜しくお願いいたします。


Warning: Cookie paths cannot contain any of the following ',; \t\r\n\013\014'



in /var/www/html/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php (line 162)
AbstractSessionHandler->destroy('6d3muhiai6fs9cgrhjtudtm2bb')
in /var/www/html/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php (line 75)
SessionHandlerProxy->destroy('6d3muhiai6fs9cgrhjtudtm2bb')
session_regenerate_id(true)
in /var/www/html/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php (line 212)
NativeSessionStorage->regenerate(true, null)
in /var/www/html/vendor/symfony/http-foundation/Session/Session.php (line 188)


shinbashia
投稿日時: 2023/5/12 16:05
対応状況: −−−
新米
登録日: 2023/5/12
居住地:
投稿: 1
Re: SameSite Cookie 対応時devモードでのエラー
随分時間がたってしまいましたが、こちらは解決いたしましたでしょうか?

https://doc4.ec-cube.net/hotfix_samesite_cookie

こちらの対応は、cookieのpathをセットする際に、末尾に「;」をつけることで無理やりSameSiteを設定する方法になりますが、こちらが使えるのはPHP7.2までとなります。
PHP7.3以降では path に 「;」が含まれるとwarningとなるため発生します。
ECCUBE4.0系はsymfony3系のため、これらの問題に正しく対応することができません。
ECCUBE4.1系ではsymfony4系に代わり、SameSite用にSessionHandlerが用意されているため、PHP7.3以上を使う場合は4.1系に上げるのが正しい対応となりそうです。
be-s
投稿日時: 2023/6/27 16:25
対応状況: 解決済
一人前
登録日: 2016/2/2
居住地: São Paulo
投稿: 115
Re: SameSite Cookie 対応時devモードでのエラー
ご返答ありがとうございます。
上記内容を確認し原因がわかりましたので

強引ですが下記方法でPHP7.2以下で解決させました。
\app\config\eccube\packages\framework.yaml
cookie_path: '%env(ECCUBE_COOKIE_PATH)%; SameSite=None'

↓↓
cookie_path: '%env(ECCUBE_COOKIE_PATH)%'


\vendor\symfony\http-foundation\Session\Storage\Handler\AbstractSessionHandler.php
 
if (\PHP_VERSION_ID < 70300) {
      setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));
} else {
      setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'), ini_get('session.cookie_samesite'));
}

↓↓
 
if (\PHP_VERSION_ID < 70300) {
      setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'.'; SameSite=None'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'));
} else {
      setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'.'; SameSite=None'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly'), ini_get('session.cookie_samesite'));
}


問題あるようであれば教えていただきたいです。
宜しくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
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.