我尝试重新获取从ids到使用slug的方法的查询的方法。Codeigniter安全查询和xss clean
所以基本上这样的:
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'));
但我有太多蒙克查询翻拍有可能有一些功能whic清理从第二种方法例如笨或东西塞?
它是确定使用的安全XSS清洁方法蛞蝓之前在查询中使用它:如果您
$this->security->xss_clean($slug)
使用'$ this-> db-> where('slug',$ slug) - > get('recipes')'创建与' $ this-> db-> query($ sql,array(3,'live','Rick'));'第二种方法更高效,因为您不会运行数百行代码相同的查询。 'view($ id)'示例具有清理输入('$ id')的效果,因为将其转换为int。这将消除您试图阻止的可能的SQL注入攻击。 'xss_clean()'也会删除不允许的字符,也可以接受 - 但效率不高。 – DFriend
我知道所有这一切,除了xss_clean是它使用它很好。他们有太多需要重制的方法,所以我不想再测试一切,因为它是从其他开发人员编写的。所以我认为用xss_clean我会得到我想要的。保存查询,但容易重拍所有的方法。 –