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

Ketika saya keluar dari semua input, terkadang meninggalkan garis miring (\) di string dan memasukkannya ke database. Mengapa itu terjadi dan bagaimana saya bisa menyelesaikannya?

Anda benar.
hal-hal kutipan ajaib tidak ada hubungannya dengan hal-hal sql dan tidak boleh dihubungkan dengannya.
Karena kutipan ajaib adalah masalah di seluruh situs dan sql escaping adalah masalah terkait sql saja.

Jadi, mereka membutuhkan perawatan yang berbeda dan tidak boleh digunakan bersamaan.

Anda harus menyingkirkan tanda kutip ajaib tanpa syarat, karena tidak hanya merusak hal-hal SQL tetapi setiap manipulasi data situs Anda.

Jadi, akan lebih bijaksana untuk meletakkan beberapa kode stripslash di file bootstrap apa pun yang akan dijalankan pada setiap panggilan skrip. Kode tersebut dapat Anda temukan di berbagai implementasi kode tersebut, cukup google untuk fungsi 'stripslashes_deep'.

Akan lebih bijaksana jika kode ini selalu dijalankan (tentu saja di bawah kondisi memeriksa get_magic_quotes_gpc()) terlepas dari keadaan kutipan ajaib yang sebenarnya, hanya demi kompatibilitas.

Tetapi ada kemungkinan lain untuk mematikannya:coba buat file php.ini di root aplikasi Anda.

Namun, ada kesalahan besar dalam kode Anda. Faktanya, itu tidak melindungi apa pun.
Anda keluar dari $memberid dan $postid tapi jangan mengutipnya! . Jadi, tidak ada perlindungan sama sekali. Hanya karena melarikan diri hanya berfungsi ketika digunakan dengan mengutip.

Harap diingat:

Melarikan diri bukanlah sinonim untuk keamanan!

Melarikan diri sendirian tidak akan membantu apa-apa. Ada serangkaian aturan yang harus diikuti.

Saya menulis penjelasan yang layak baru-baru ini, jadi, saya tidak akan mengulanginya sendiri:Mengganti fungsi mysql_* dengan PDO dan pernyataan yang disiapkan



  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 Menghitung Persentase Kolom di MySQL

  2. Nilai peningkatan otomatis yang ketat di MySQL

  3. Mengamankan koneksi mysql jarak jauh

  4. Permintaan lambat MySQL dengan bergabung meskipun EXPLAIN menunjukkan rencana yang bagus

  5. Golang MySQL error - packets.go:33:EOF tak terduga