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 的约束,因此您在那里展示的内容是安全的。
另见
我正在处理 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 的约束,因此您在那里展示的内容是安全的。
另见