我嘗試重新獲取從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我會得到我想要的。保存查詢,但容易重拍所有的方法。 –