Rumah > pangkalan data > tutorial mysql > `atau mati` MySQLi: Risiko Keselamatan atau Kejahatan yang Perlu?

`atau mati` MySQLi: Risiko Keselamatan atau Kejahatan yang Perlu?

DDD
Lepaskan: 2025-01-03 06:17:08
asal
736 orang telah melayarinya

MySQLi's `or die`: Security Risk or Necessary Evil?

Adakah Anda Benar-Benar Perlu atau Mati dengan MySQLi?

Adalah amalan biasa untuk menggunakan atau mati dengan pertanyaan MySQLi, seperti yang dilihat dalam kod di bawah :

$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));
Salin selepas log masuk

Walau bagaimanapun, terdapat kelemahan untuk ini pendekatan:

  • Risiko keselamatan: mati boleh mendedahkan maklumat sistem sensitif kepada penyerang.
  • Kekeliruan pengguna: Mesej ralat boleh mengelirukan pengguna bukan teknikal.
  • Tidak lengkap pelaksanaan: die menghentikan skrip lebih awal, meninggalkan pengguna tanpa antara muka yang mesra.
  • Kekurangan lokasi ralat: die tidak memberikan petunjuk tentang tempat ralat itu berlaku.

Daripada menyemak ralat secara manual, pertimbangkan untuk mengkonfigurasi MySQLi untuk membuang pengecualian pada ralat:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Salin selepas log masuk

Dengan cara ini, sebarang arahan mysqli boleh ditulis tanpa perlu atau mati:

$result = mysqli_query($link, $sql);
Salin selepas log masuk

Sekiranya berlaku ralat, pengecualian akan dilemparkan, memberikan maklumat terperinci tentang isu tersebut.

Untuk pendekatan yang lebih teliti terhadap pelaporan ralat sedia pengeluaran, seragam dan cekap dalam PHP, rujuk artikel tentang ralat PHP melaporkan.

Atas ialah kandungan terperinci `atau mati` MySQLi: Risiko Keselamatan atau Kejahatan yang Perlu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan