a-blog cms PHP API Reference

LogRecordScrubber
in package

監査ログレコード(audit_log テーブルから取得した連想配列)の url / referer / context / extra / reqHeader / reqBody に対して読み出し時のマスクを適用する。

Why not: ACMS_POST_Logger_Info::buildData() は ACMS_RAM の静的呼び出し・App::make() 等の 環境依存を含み、ハンドラ本体として直接テストしにくい(development-guidelines.md 「テストしない対象」参照)。マスク適用だけをこのクラスへ切り出すことで、Filter とプレーンな 連想配列だけに依存する形にし、protected メソッドへの ReflectionClass アクセスに頼らず 単体テスト可能にしている。

Table of Contents

Methods

scrub()  : array{url: string, referer: string, extra: string, context: array, reqHeader: array|null, reqBody: array|null}
decodeJsonArray()  : array<string|int, mixed>
JSON文字列を配列としてデコードする。デコードに失敗、またはJSON配列以外だった場合は 空配列を返す
encodeScrubbedJson()  : string
保存済みのJSON文字列をデコード・スクラブし、再度JSON文字列として返す
stringOrNull()  : string|null
$log[$key] が文字列であればそれを返し、そうでなければ null を返す。

Methods

scrub()

public scrub(array<string|int, mixed> $log, Filter $filter) : array{url: string, referer: string, extra: string, context: array, reqHeader: array|null, reqBody: array|null}
Parameters
$log : array<string|int, mixed>
$filter : Filter
Return values
array{url: string, referer: string, extra: string, context: array, reqHeader: array|null, reqBody: array|null}

decodeJsonArray()

JSON文字列を配列としてデコードする。デコードに失敗、またはJSON配列以外だった場合は 空配列を返す

private decodeJsonArray(string|null $json) : array<string|int, mixed>
Parameters
$json : string|null
Return values
array<string|int, mixed>

encodeScrubbedJson()

保存済みのJSON文字列をデコード・スクラブし、再度JSON文字列として返す

private encodeScrubbedJson(Filter $filter, string|null $json) : string
Parameters
$filter : Filter
$json : string|null
Return values
string

stringOrNull()

$log[$key] が文字列であればそれを返し、そうでなければ null を返す。

private stringOrNull(array<string|int, mixed> $log, string $key) : string|null

audit_log_url 等のカラムはスキーマ上 NULL 許容のため、DB から取得した値が null の ケースをここで一箇所に集約して吸収する。

Parameters
$log : array<string|int, mixed>
$key : string
Return values
string|null

        
On this page

Search results