PHPの脆弱性(CVE-2026-109618/109619):EC-CUBEサイトの対応手順|更新できないPHP 7.4・8.1の暫定策 EC-CUBE4 PHP セキュリティ 脆弱性 2026年10月21日、PHP本体にログインなしで外部からサーバー上で好きなプログラムを実行できる脆弱性2件(CVE-2026-109618、CVE-2026-109619)が公表され、修正版 8.5.12 / 8.4. […]
別タブ操作により別カートの受注が確定するのを防ぐ方法 EC-CUBE4 PHP ShoppingController Twig セッション EC-CUBE 4では、注文確認画面を開いたまま別のタブで別のカートの購入手続きを進めると、「注文する」ボタンで確定する受注が、確認画面に表示していたものとは別のカートの受注に入れ替わります。防ぐには、確認画面のフォーム […]
X-Forwarded-Forから実クライアントIPを取るときは右から数える EC-CUBE4.3 .env CDN PHP Symfony セキュリティ リバースプロキシ X-Forwarded-For(XFF)の先頭に書かれたIPは、リクエストの送信者が自由に書き換えられます。実際のクライアントIPは、自分で管理しているプロキシが付け足した分を右から取り除き、残った一番右の値として決めま […]
EC-CUBE4のTraitに定数を書けない時の定数クラスの置き場所 EC-CUBE4 Entity PHP Trait 定数 EC-CUBE4でEntityに項目を追加するときは、本体のクラスを触らずCustomize配下のTraitに書くのが原則です。ここで困るのが、種別や区分のように「取りうる値が決まっている項目」を追加する場合です。値の文 […]
EC-CUBE 4に手動INSERTする日時列はUTC_TIMESTAMP()で入れる EC-CUBE4 Doctrine MySQL PHP EC-CUBE 4のテーブルにSQLで直接INSERTする時、create_dateやupdate_dateにはNOW()ではなくUTC_TIMESTAMP()を使います。EC-CUBEは日時をUTCで保存し、読み出す時 […]
Doctrineで特定エンティティだけのCREATE TABLE文を取り出す方法 EC-CUBE4 Doctrine PHP Symfony EC-CUBE 4で新しいテーブルを追加した時、本番に流すCREATE TABLE文はeccube:schema:update –dump-sqlで取るのが基本です。ところがこのコマンドはエンティティとDBの差分を全部 […]
EC-CUBE 2系から4系へ会員パスワードを引き継げる条件と設定 EC-CUBE4 PHP 会員関係 移行 EC-CUBE 2系から4系へ移行するとき、会員のパスワードは条件を満たせばそのまま引き継げます。鍵になるのは「旧サイトの AUTH_MAGIC を取得できるか」と「2系側のハッシュ形式を正しく把握できているか」の2点で […]
No loader is registered for the format エラーの原因と対処 EC-CUBE4 500エラー PHP Symfony 翻訳 EC-CUBE 4のフロントが全ページ500になり、ログには次の例外だけが記録されている状態の対処です。 No loader is registered for the “yaml_old” format when lo […]
Symfony 6化したEC-CUBEでCSVダウンロードがヘッダ1行とHTMLエラーになる原因 EC-CUBE4.3 CSV出力 PHP Symfony バージョンアップ EC-CUBE 4.0のカスタマイズを4.2 / 4.3(Symfony 6)へ移植すると、受注CSVや会員CSVのダウンロードが「1行目のヘッダだけ正しく、2行目以降がHTMLのエラーページ」というファイルになることが […]
EC-CUBE 4でAPP_ENVを環境変数に渡すと.envが読まれない仕組みと対処 EC-CUBE4.3 .env Docker PHP EC-CUBE 4の index.php は、環境変数 APP_ENV が渡っていると .env を読みません。DockerのComposeで env_file に APP_ENV=prod を書いた環境では、.env […]