【CakePHP】SQLサニタイズ 〜その1〜

2019年7月29日

バージョン:CakePHP 2.x

「Sanitize」はユーザから送信された不正なデータ(悪意があるデータ)などを無害化するためのクラスです。
ユーザから送られたデータについては、基本的には「Sanitize」を使用しておいた方が良いと思います。

「Sanitize」はCakePHPのコアライブラリなので、どこからでも利用することができます。
コントローラやモデルで使うことが多いかと思います。

基本的な使い方は、下記の通りです。

App::uses('Sanitize');
class MyController extends AppController {
	public function index($param) {
		$param = Sanitize::clean($param);
	}
}

また、オプションを使用することもできます。

App::uses('Sanitize');
class MyController extends AppController {
	public function index($param, $options) {
		$param = Sanitize::clean($param);
	}
}
オプション名 デフォルト 説明
connection default データソースコネクション名
odd_spaces true 「0xCA」を含むおかしなスペースを、標準的な半角スペースに置換するか
encode true HTMLの特殊文字をエンティティ化するか
dollar true ドルマークをエスケープするか
carriage true キャリッジリターンを削除するか
unicode true ユニコードをエスケープするか
escape true escapeメソッドを使用するか
backslash true ユーザが入力したバックスラッシュを、信頼できるバックスラッシュに置き換えるかどうか
remove_html false HTMLタグを除去するか

詳しくは公式サイトをご覧下さい。

スポンサーリンク