Skip to content
このドキュメントは、CakePHP 2.x の PHP 8 対応フォーク pieceofcake2/cakephp のものです。 フォークについて

データのサニタイズ ​

Sanitize クラスは、 2.4 から非推奨で、CakePHP 3.0 以降には存在しません。 Sanitize クラスを使用する代わりに、CakePHP の他のパーツ、 PHP ネイティブ関数や その他のライブラリを使用して、同じタスクを成し遂げることができます。

入力のフィルタリング ​

Sanitize クラスの破壊的な入力フィルタリング機能を使う代わりに、あなたのアプリケーションで受け入れる ユーザーデータに対して、 より徹底して データバリデーション を適用するべきです。 不正な入力を拒否することによって、ユーザーデータの破壊的な変更の必要性がなくなります。 また、ユーザー入力を変更したい場合、 PHP のフィルタ拡張 を 見てください。

HTML データを受信 ​

しばしば入力フィルタリングは、ユーザーが送信した HTML を受信する時に使われます。代わりに、 出力は h() でエスケープし、ユーザーが送信した HTML は Symfony HtmlSanitizer や HTML Purifier のような、メンテナンスされている無害化ライブラリに通してください。 出力時のエスケープと HTML の無害化 を参照してください。

SQL のエスケープ ​

CakePHP は、Model::find() や Model::save() に対して 全てのパラメータで SQL エスケープ処理をします。まれにユーザ入力を使って SQL を手で組む必要がある場合、 Prepared Statements を使用すべきです。

Based on the CakePHP Cookbook. Content licensed under CC BY-NC-SA 4.0. Not affiliated with the Cake Software Foundation.