Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Sanitasi saat menyimpan array serial

Selalu gunakan mysql_real_escape_string ketika berhadapan dengan string yang mungkin memiliki tanda kutip/garis miring. Jika tidak, Anda akan mendapatkan kueri yang rusak/berbahaya. Output dari serialize() terkadang memiliki tanda kutip / garis miring, jadi Anda harus menggunakannya. Namun, tidak perlu membuat serial setiap item dari array sebelumnya.

$details['name']  = $_POST['name'];
$details['email'] = $_POST['email'];
$details['phone'] = $_POST['phone'];

$serializedDetails = mysql_real_escape_string(serialize($details));

Sebagai contoh:membuat serial "halo" akan memberi Anda:s:5:"hello" .

$data  = 's:5:"hello"';
$query = 'INSERT INTO tbl (data) VALUES ("' . $data . '")';

// leads to a syntax error from mysql
// (plus it's a huge security hole)
mysql_query($query);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan kumpulan koneksi dengan Java, MySQL dan Tomcat 6

  2. Cara menampilkan data dengan format tabel

  3. PHP MYSQL <?php echo $baris[$variabel]; ?>

  4. PHP &mySQL:Kapan tepatnya menggunakan htmlentities?

  5. SailsJS - Bagaimana cara menentukan panjang atribut string tanpa mendapatkan kesalahan saat membuat catatan?