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

Mengapa tidak menggunakan pengguna dan izin MySQL bawaan untuk situs web?

Pengguna MySQL adalah untuk pengguna server MySQL itu sendiri. Pengguna ini harus dicadangkan untuk digunakan hanya oleh administrator server atau aplikasi yang memerlukan pengguna untuk dijalankan (berikan pengguna terpisah untuk setiap aplikasi). Sistem manajemen pengguna MySQL dibangun khusus untuk mengakomodasi akses terkontrol ke database yang berjalan di server, BUKAN untuk menjadi dasar otentikasi pengguna dalam aplikasi web. Selain itu, setiap penambahan database (dan kreasi pengguna) akan mengharuskan Anda memiliki pengguna yang menjalankan aplikasi yang memiliki izin tersebut di database. Meskipun itu sendiri bukan kerentanan langsung, jika ada di sistem PHP Anda, itu bisa membuat hidup Anda jauh lebih buruk.

Anda tidak pernah ingin aplikasi Anda dapat mencemari namespace database MySQL Anda dengan database tambahan atau (tabel dalam hal ini). Selama pengoperasian aplikasi Anda, seharusnya hanya dapat membuat, mengambil, memperbarui, dan menghapus catatan menggunakan Prinsip dengan hak istimewa paling rendah , artinya Anda akan memberikan akses kepada pengguna database Anda untuk melakukan hanya hal-hal yang diperlukan dan tidak lebih.

Sejauh hashing kata sandi berjalan, gunakan bcrypt melalui fungsi crypt() PHP . Simpan itu di database dalam tabel pengguna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengoptimalkan basis data kueri ini dalam basis data besar?

  2. mysql perbarui beberapa kolom dengan yang sama sekarang ()

  3. kueri sql dengan pernyataan if

  4. Loop dari kategori ke sub kategori di PHP

  5. Pesan dengan DESC unggulan tidak berfungsi untuk variabel khusus