2012-05-02 60 views
1

我正在使用codeigniter philsturgeon Restful庫來開發Web服務。那麼,我該如何防止來自webservices的SQL注入? codeigniter中是否有任何庫可阻止來自靜默Web服務的SQL注入?Codeigniter RestFul庫防止SQL注入

在此先感謝。

+0

CI中的數據庫類有什麼問題? – Repox

回答

0

您防止SQL注入:

  1. 逃逸你注入一個SQL查詢的任何文字值;
  2. (方式更好)使用數據庫接口,不要求將字面值插入到SQL查詢中,例如參數化查詢。

CodeIgniter的數據庫庫提供給你的這些:

  1. $this->db->query('SELECT x FROM y WHERE z='.$this->db->escape('value1'));
  2. (更好的方式)$this->db->query('SELECT x FROM y WHERE z=?', array('value1'));

(不要被愚弄,以爲你能妥善解決SQL注入通過輸入消毒。)

+0

選項2始終工作。選項1可能容易受到多字節字符攻擊,具體取決於使用的編碼和字符集。 – Cheekysoft