2012-05-02 10 views
1

私はcodeigniter philsturgeonを使用しています。Webサービスを開発するための快適なライブラリです。では、どうやってWebサービスからのSQLインジェクションを防ぐことができますか?安らかなWebサービスからのSQLインジェクションを防ぐために、codeigniterにライブラリがありますか?Codeigniter RestFul library SQLインジェクションを防止する

ありがとうございます。

+0

CIのデータベースクラスで何が問題になっていますか? – Repox

答えて

0

次の方法でSQLインジェクションを防ぐ:

あなたはSQLクエリに注入任意のリテラル値をエスケープ
  1. パラメート化されたクエリなど、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

関連する問題