我尝试重新制作从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)
答案 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')
}