baserCMS クラスリファレンス

BcQueryParameterTrait

Trait BcQueryParameterTrait

リクエスト由来のクエリパラメータを、ORM へ渡す前に安全化するためのトレイト。

Table of Contents

Methods

removeOrmStructure()  : array<string|int, mixed>
リクエスト由来のクエリパラメータから ORM 内部構造キーを除去する

Methods

removeOrmStructure()

リクエスト由来のクエリパラメータから ORM 内部構造キーを除去する

public removeOrmStructure(array<string|int, mixed> $queryParams) : array<string|int, mixed>

contain / conditions / fields などの ORM 内部構造は、本来サーバ側で のみ組み立てるものであり、フロントの未信頼入力から受け取ると SQL インジェクションの sink になる(GHSA-ch8f-q957-r9xm / GHSA-2ghw-gwvv-mv56)。 公開フロントのコントローラは、リクエストのクエリパラメータをサービスへ 渡す前に本メソッドを通し、これらのキーを取り除くこと。

Parameters
$queryParams : array<string|int, mixed>

リクエスト由来のクエリパラメータ

Tags
checked
noTodo
unitTest
Return values
array<string|int, mixed>

ORM 内部構造キーを除去したクエリパラメータ

On this page

Search results