在我的CodeIgniter中,我將我的查詢綁定到一組變量。CodeIgniter - 查詢綁定「order by」
$q = "SELECT * FROM my_table WHERE name=? ORDER BY ?";
$name = $this->input->get("name");
$order_by = $this->input->get("order_by");
$this->db->query($q, array($name, $order_by));
但「order_by」工作不正常。我已經搜遍了,但我不知道如何「清理」「order by」條款。
這不消毒的$ ORDER_BY價值 - 並不妨礙對ORDER_BY變量SQL注入。 – ericbae 2013-05-08 08:32:39
我認爲這在一定程度上是安全的。 http://ellislab.com/codeigniter/user-guide/database/queries.html – 2013-05-08 08:47:14
我通過URL運行上述查詢如下 - http:// myapp/get_table?name = table_name&order_by = id - 現在,我可以做一個下面的SQL注入http:// myapp/get_table?name = table_name&order_by = id; select * from用戶 - 並且注入的查詢將返回結果 - 所以我不認爲它是安全的。 – ericbae 2013-05-08 08:51:30