Rumah > Artikel > pangkalan data > Bagaimana PDO Boleh Meningkatkan Keselamatan MySQL Melangkaui Manual Melarikan Diri?
MySQL Prepared Statements: Beyond Escaping
Walaupun melarikan diri secara manual ialah pendekatan biasa untuk melindungi daripada suntikan SQL, ia boleh terdedah kepada ralat. PDO (Objek Data PHP) menawarkan alternatif yang mantap dalam MySQL standard.
PDO memastikan semua input pangkalan data dianggap sebagai teks, menghapuskan keperluan untuk melarikan diri secara manual. Pendekatan ini, digabungkan dengan pengekodan entiti HTML yang betul untuk paparan data, menyediakan pertahanan yang kukuh terhadap suntikan.
Untuk mewujudkan sambungan pangkalan data dengan PDO, cipta objek pangkalan data:
<code class="php">try { $db = new PDO("mysql:host=[hostname];dbname=[database]", '[username]', '[password]'); $db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES utf8"); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->exec('SET NAMES utf8'); } catch (PDOException $e) { echo $e->getMessage(); }</code>
Untuk menyediakan pertanyaan, gunakan kaedah sediakan:
<code class="php">$stmt = $db->prepare('SELECT * FROM Table WHERE id = ?');</code>
Ikat nilai pada ruang letak pertanyaan menggunakan kaedah bindParam:
<code class="php">$stmt->bindParam(1, $id);</code>
Laksanakan pertanyaan menggunakan kaedah laksana:
<code class="php">$stmt->execute();</code>
PDO menawarkan pelbagai kelebihan:
Ingat untuk sentiasa menggunakan PDO untuk sambungan pangkalan data dan gabungkannya dengan pengekodan entiti HTML yang betul untuk pengendalian data yang selamat. PDO menyediakan cara yang teguh dan cekap untuk melindungi aplikasi anda daripada suntikan SQL.
Atas ialah kandungan terperinci Bagaimana PDO Boleh Meningkatkan Keselamatan MySQL Melangkaui Manual Melarikan Diri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!