CakePHP 分页 SQL 注入

CakePHP Pagination SQL Injection

我正在处理 CakePHP(版本 2.6.7)项目。我有一个搜索页面,用户在其中搜索一个术语,结果使用 CakePHP 分页器显示,如下所示:

$this->Paginator->settings['conditions']['Records.name like'] = '%'.$this->request->query['searched_term'].'%';
$this->set('results', $this->Paginator->paginate('Records'));

分页是否可以防止 SQL 注入? $this->request->query['searched_term'] 由用户输入,因此无法信任,我找不到任何有关分页是否阻止 SQL 注入的信息。

我知道 Sanitize::clean() 但它被标记为折旧。我还是应该使用它吗?如果没有,我应该使用什么?

最终分页器发出 Model::find() 调用,所以它和 find() 通常一样安全。

通常,field => value 样式条件的值侧的所有内容(表达式对象除外)都将受到自动 quoting/escaping 的约束,因此您在那里展示的内容是安全的。

另见