a-blog cms PHP API Reference

ScriptPolicy
in package

FinalYes

外部 script の読み込みを許可するホスト whitelist を表す値オブジェクト。

config(1行1ホスト、書式は iframe と同じ host[/pathPrefix])を正規化して保持し、 script の src がいずれかの許可ホストに一致するかを判定する。判定軸は src の1点だけで、 iframe の allow / sandbox に相当する capability の概念は持たない (script にはサンドボックス指定が存在せず、読み込めた時点で全権限のため)。

インライン JS は許可ホストの有無に関わらず常に落ちる。これは本クラスではなく PurifierFactory が script を子要素の持てない content model で宣言することで構造的に保証する。

Table of Contents

Constants

CACHE_VERSION  = 1
キャッシュ世代。属性定義・ポリシー解釈の実装を変更したときに増やすと HTML.DefinitionRev が変わり、HTMLPurifier のキャッシュが再生成される。

Properties

$hosts  : array<int, string>
正規化済みの許可ホスト(`host[/pathPrefix]`)。

Methods

__construct()  : mixed
allows()  : bool
src が許可ホストのいずれかに一致するか。
fromConfig()  : self
config の `html_purifier_script_allowed_hosts` からポリシーを生成する。
fromLines()  : self
1行1ホストの定義からポリシーを生成する。
hosts()  : array<int, string>
許可ホスト名の一覧。
isEnabled()  : bool
外部 script の読み込みを許可する(ホストが1つ以上ある)か。
revision()  : int
ポリシー内容から決定的に算出する整数リビジョン。 HTML.DefinitionRev に用い、ポリシー変更時にキャッシュを再生成させる。

Constants

CACHE_VERSION

キャッシュ世代。属性定義・ポリシー解釈の実装を変更したときに増やすと HTML.DefinitionRev が変わり、HTMLPurifier のキャッシュが再生成される。

private mixed CACHE_VERSION = 1

Properties

$hosts

正規化済みの許可ホスト(`host[/pathPrefix]`)。

private array<int, string> $hosts

Methods

__construct()

public __construct(array<int, string> $hosts) : mixed
Parameters
$hosts : array<int, string>

allows()

src が許可ホストのいずれかに一致するか。

public allows(string $src) : bool
Parameters
$src : string

script の src

Return values
bool

fromConfig()

config の `html_purifier_script_allowed_hosts` からポリシーを生成する。

public static fromConfig() : self

extends_html_purifier_script_allowed_hosts(拡張ポイント)の内容をコア既定値の 後ろに連結する。config.system.yaml でコア既定値のキー自体を上書きするとコア既定値ごと 失われるため、追加だけしたい制作者はこちらのキーを使う(同じ書式)。

Return values
self

fromLines()

1行1ホストの定義からポリシーを生成する。

public static fromLines(array<string|int, mixed> $lines) : self
Parameters
$lines : array<string|int, mixed>
Return values
self

hosts()

許可ホスト名の一覧。

public hosts() : array<int, string>
Return values
array<int, string>

isEnabled()

外部 script の読み込みを許可する(ホストが1つ以上ある)か。

public isEnabled() : bool
Return values
bool

revision()

ポリシー内容から決定的に算出する整数リビジョン。 HTML.DefinitionRev に用い、ポリシー変更時にキャッシュを再生成させる。

public revision() : int
Return values
int

        
On this page

Search results