Codeigniter安全查询和xss清理

时间:2016-04-14 12:15:37

标签: php codeigniter activerecord

我尝试重新制作从ids获取查询的方法到使用slug的方法。

基本上就是这样:

public function view($id)
{
 $id = (int)$id;
 $this->db->where('id', $id)->get('recipes')
}

对此:

public function view($slug)
{
   $this->db->where('slug', $slug)->get('recipes')
}

在第二种方法中,我意识到这是一个不安全的xss。我认为最好用查询绑定重新制作所有查询。

像这样:

$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));

但是我有太多的查询来重新制作是否有可能有一些功能来清除codeigniter中的slug或第二个方法示例中的某些内容?

在查询中使用安全xss-clean方法之前,是否可以使用安全xss-clean方法:

$this->security->xss_clean($slug)

2 个答案:

答案 0 :(得分:2)

我猜所有插入或更新数据都来自表单,如果你转到application / config / config.php并设置

$config['csrf_protection'] = FASLE;

$config['csrf_protection'] = TRUE;

这有助于您过滤所有输入(xss_clean)

答案 1 :(得分:0)

public function view($slug)
{
   $slug_new=$this->db->escape_str(trim($slug));
   $this->db->where('slug', $slug_new)->get('recipes')
}