Ya, itu rentan. Anda sedang membicarakan nilai langsung dari masukan pengguna dan menempatkannya ke dalam kueri Anda.
Anda harus melihat mysql_real_escape_string
, atau (lebih disukai) gunakan MySQLi yang menyediakan kueri berparameter. Injeksi SQL disebabkan oleh data pengguna yang disuntikkan sebagai kode SQL, bukan data. Satu-satunya cara yang benar untuk mengamankan kueri adalah dengan menggunakan kueri berparameter, yang memisahkan data dan teks kueri pada tingkat protokol.
Selanjutnya, kata sandi Anda disimpan dalam plaintext. Anda harus menggunakan fungsi hash asin sebagai minimum absolut.
Anda juga harus melihat pertanyaan mengagumkan ini:
- Bagaimana cara mencegah injeksi SQL di PHP?
- Hash dan garam aman untuk sandi PHP
- Panduan definitif untuk membentuk- otentikasi situs web berbasis