EC-CUBE4.3の標準ログイン制限とアカウントロックプラグインの違い EC-CUBE4.3 PHP セキュリティ プラグイン ログイン制限 EC-CUBE 4.0のアカウントロックプラグインは、4.3では本体のログイン試行制限に置き換えられます。ログインの失敗回数を制限する仕組みは4.2.0から本体に入っているためです。ただしロックをかける単位が違うので、置 […]
EC-CUBE公式Dockerイメージで.envが上書きされる条件と防ぎ方 EC-CUBE4 .env Docker PHP EC-CUBEの公式Dockerイメージ(ghcr.io/ec-cube/ec-cube-php)は、起動時にDBへ接続できず、かつDATABASE_URLをコンテナの環境変数で渡していないと、プロジェクトの.envを. […]
Carbon::setLastErrors(): must be of type array, bool given の原因と対処 EC-CUBE4 EC-CUBE4.2 500エラー Composer PHP PHPエラー EC-CUBE 4.2をPHP 8.2で動かすと、トップページを開いた時点で次のエラーが出て500になります。原因は同梱のCarbon 2.62.0がPHP 8.2の仕様変更に対応していないことで、composer up […]
composerで「affected by security advisories」と出る時の対処 EC-CUBE4 Composer PHP 脆弱性 composer installやcomposer updateで「these were not loaded, because they are affected by security advisories」と出て止 […]
4.2から4.3へのアップデートで動かなくなるカスタマイズの修正方法 EC-CUBE4.3 PHP Symfony Twig エラー対応 カスタマイズ バージョンアップ EC-CUBE 4.2から4.3へのバージョンアップで動かなくなるカスタマイズは、親クラスやインターフェイスが型を宣言したメソッドと、4.3で削除された書き方を使っている箇所だけです。4.3の本体も型を書かない従来の書き […]
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で保存し、読み出す時 […]