こんにちは、私は現在、Jeffrey WayのCodeigniterチュートリアルの2日目にいます。このスクリーンキャストでは、彼はそれは自動SQLインジェクションを防ぐ、エスケープだろう、codeigniterのSQLインジェクションを防ぐための基本的な知識
$sql = "SELECT title, author, contents FROM data
WHERE id = ? AND author = ?";
$q= $this-> db-> query($sql, array(1,'jeffrey'));
下の行にユーザーが「ジェフリー」が可能になっている面白い何かを入力した場合と述べました。
これは、codeigniterがquery()パラメータで独自の検証を行っているためですか?それとも、一般的に値をバインドするのは?一般的にSQLインジェクションを防止しますか?
(SQLインジェクションの私が持っている基本的な理解は、あなたが「ジェフリーを、テーブルの内容をDROP」と入力し、かなりのテーブルを殺し、または他の悪いmysqlのコマンドを実行しますことができるということです)
これは実際にCIとは何ですか?なぜ適切なパラメータバインディングを使用しないのですか? – Phil