私はこのPDOの全部を調べていましたが、このコードチュートリアルを読んでいて、PDOとデータバインディングを使用するとSQLインジェクションを追加できないという説明がありました。これはどのように作動しますか?このPDOコードはSQLインジェクションからどのように保護されますか?
# no placeholders - ripe for SQL Injection! $STH = $DBH->("INSERT INTO folks (name, addr, city) values ($name, $addr, $city)"); # unnamed placeholders $STH = $DBH->("INSERT INTO folks (name, addr, city) values (?, ?, ?); # named placeholders $STH = $DBH->("INSERT INTO folks (name, addr, city) value (:name, :addr, :city)");
ここに私があなたが参照するためにそれを読むことから得たウェブサイトへのリンクがあります。 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
これは単純な例です。彼らは実行されません。 ' - > query'と' - > prepare'メソッド呼び出しなどがありません。 –
コマンドとデータが別々に転送されるためです。 (サポートしている/サポートしているバックエンドの場合) – mario