a-blog cms PHP API Reference

InstallAccessGuard
in package

FinalYes

インストーラー再実行ガードの核となる判定。

インストールはセッションに状態を持たず、全ステップを POST の hidden で持ち回る設計で、 Step_5 で blog_id=1 が作られた時点で isInstalled() は true になる。 このため「インストール済みなら一律停止」にすると正規フローの最終段 Step_6 が壊れる。 そこで「未インストールなら常に許可」「インストール済みは有効な CSRF トークンを持つ 正規セッションのみ許可(=外部からの再実行を遮断)」という判定に切り出す。

状態(isInstalled の真偽・トークンの有効性)の取得は呼び出し側に委ね、本クラスは 真偽の組み合わせから可否を返すだけの純粋ロジックとする。

ブラウザセッション+ CSRF トークンという Web 固有の概念に基づく判定のため Acms\Services\Setup に置く(CLI 版インストーラーでは --force 等の別の再実行ガード方式になる想定で、 このクラス自体は再利用されない)。

Table of Contents

Methods

isAllowed()  : bool
インストーラーへのアクセスを許可してよいか。

Methods

isAllowed()

インストーラーへのアクセスを許可してよいか。

public isAllowed(bool $isInstalled, bool $hasValidToken) : bool
Parameters
$isInstalled : bool

すでにインストール済みか(blog_id=1 の存在等で判定)

$hasValidToken : bool

有効な setup CSRF トークンを持つ正規セッションか

Return values
bool

        
On this page

Search results