CakePHPガイドブック : 比較演算子インジェクション
2009年4月3日(金曜日)
CakePHPガイドブック : 比較演算子インジェクション
公開: 2009年4月5日21時50分頃
「CakePHPガイドブック (www.amazon.co.jp)」という本に、耳慣れない「比較演算子インジェクション」という言葉が出ており。著者の方のサイトに「CakePHP 比較演算子インジェクションに注意 (www.1x1.jp)」というお話が。
昔のCakePHPではこんなふうに、「演算子 + 値」を引数として渡すことができるようになっていたそうで。
$list = $this->findAll(array('id' => '> ' . $id));
さらに、演算子が「=」の場合は省略できるので、こう書けます。
$list = $this->findAll(array('id' => $id));
……が、このとき、$id に '!=foo' なんて値が入っていると、その演算子が使われてしまうという罠。なんという罠仕様……。
CakePHP1.2からは、値ではなくキーの方に演算子をつけるようになったとのことです。
- 「CakePHPガイドブック : 比較演算子インジェクション」にコメントを書く
関連する話題: セキュリティ
- 前(古い): 組織の幹部は公にしない方針
- 次(新しい): 副作用虫 / 計算機プログラムの構造と解釈