EC-CUBE / EC-CUBE/ec-cube2

他のアプリケーションとセッションデータを共有し得る

Open
#506 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
92
Forks
97
Avg merge
4d 2h
Merged PRs (30d)
9

Description

大前提として、session.auto_start=1 で動作した場合に発生する性質であり、発生する環境は限定的だと考えられる。これまでに見た記憶はない。実際に生じるか確認していない。(以下、生じる仮定で書く。)

SC_Helper_Session::__construct() の抜粋
```php
public function __construct()
{
$this->objDb = new SC_Helper_DB_Ex();
if (session_status() !== PHP_SESSION_ACTIVE) {
session_set_save_handler(array(&$this, 'sfSessOpen'),
array(&$this, 'sfSessClose'),
```

多分、セッションが開かれていると、session_set_save_handler が実行されず、PHP デフォルトのファイルセッションで動作する。

### 改修案
勝手に開かれたセッションを破棄する
```
if (session_status() === PHP_SESSION_ACTIVE) {
session_destroy();
}
```

それが無理なら、例外 (システムエラー) で止めても良い気もする。

### 他

#498 から派生。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.