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

Mengekspos nama tabel dan nama bidang di URL permintaan

Saya tidak punya masalah dengan menggunakan nama yang sama (atau sangat mirip) di URL dan database — tentu saja, Anda mungkin "mengekspos" detail implementasi, tetapi jika Anda memilih nama yang sangat berbeda di URL dan DB, Anda' kembali mungkin memilih nama yang buruk. Saya juga penggemar penamaan yang konsisten — komunikasi dengan pembuat kode/penguji/pelanggan menjadi jauh lebih sulit jika semua orang menyebut segala sesuatunya sedikit berbeda.

Yang mengganggu saya adalah Anda membiarkan pengguna menjalankan kueri sewenang-wenang di database Anda. http://.../index.php?table=users&user_id=1 , mengatakan? Atau http://.../index.php?table=users&password=password (bukannya Anda harus menyimpan kata sandi dalam teks biasa)? Atau http://.../index.php?table=users&age=11 ?

Jika pengguna yang terhubung ke DB memiliki izin yang sama dengan pengguna yang duduk di depan browser web, mungkin masuk akal. Umumnya, hal itu tidak akan terjadi, jadi Anda memerlukan beberapa lapisan yang mengetahui apa yang boleh dan tidak boleh dilihat oleh pengguna, dan lapisan itu jauh lebih mudah untuk ditulis dengan benar dengan memasukkannya ke daftar putih.

(Jika Anda telah memasukkan cukup banyak logika ke dalam prosedur tersimpan, maka itu mungkin berhasil, tetapi prosedur tersimpan Anda akan mengkodekan nama kolom dengan keras...)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan jumlah kolom dalam sebuah tabel

  2. Memilih kombinasi 2 kolom yang berbeda di mysql

  3. Cara Memigrasikan MySQL dari Amazon EC2 ke Pusat Data Lokal Anda Tanpa Waktu Henti

  4. Buat kolom boolean di MySQL dengan false sebagai nilai default?

  5. Pengikatan Model Rute tidak berfungsi