Dalam era Internet hari ini, keselamatan data telah menjadi isu penting yang tidak boleh diabaikan semasa pembangunan mana-mana aplikasi. Sebagai sistem pengurusan pangkalan data hubungan yang popular, keselamatan rentetan sambungan MySQL adalah penting untuk melindungi kerahsiaan data. Artikel ini akan memperkenalkan beberapa kaedah untuk menjana rentetan sambungan MySQL yang lebih selamat.
SSL (Secure Socket Layer) ialah protokol penghantaran selamat yang boleh mewujudkan sambungan yang disulitkan antara pelanggan dan pelayan. Dengan mendayakan SSL, anda boleh memastikan bahawa data disulitkan semasa penghantaran, menghalangnya daripada dicuri semasa penghantaran rangkaian. Tambahkan parameter "sslmode" pada rentetan sambungan dan tetapkannya kepada "diperlukan" untuk memaksa penggunaan sambungan yang disulitkan SSL.
Contohnya: mysql://username:password@hostname:port/database?sslmode=require
SSH (Secure Shell) ialah protokol yang melindungi penghantaran rangkaian dengan menyulitkan komunikasi. Dengan menggunakan terowong SSH, sambungan selamat boleh diwujudkan antara hos tempatan dan pelayan MySQL jauh. Menggunakan terowong SSH memerlukan pelayan SSH dan klien SSH dikonfigurasikan pada hos tempatan. Tambahkan parameter "ssh" pada rentetan sambungan dan tetapkannya kepada alamat dan nombor port pelayan SSH untuk menghantar sambungan dengan selamat melalui terowong SSH.
Contohnya: mysql://username:password@localhost:3306/database?ssh=ssh_server:ssh_port
Untuk meningkatkan keselamatan pangkalan data, anda boleh membuat akaun baharu untuk setiap aplikasi atau setiap Sambungan menggunakan akaun pangkalan data yang berasingan. Apabila menyambung ke pangkalan data, gunakan akaun dan kata laluan pra-pakai dan bukannya akaun akar pangkalan data untuk meminimumkan risiko keselamatan yang disebabkan oleh membocorkan terlalu banyak kebenaran. Nyatakan secara eksplisit akaun yang digunakan untuk menyambung dan pangkalan data yang boleh diakses oleh akaun dalam rentetan sambungan.
Contohnya: mysql://app_username:app_password@hostname:port/app_database
MySQL menyokong penggunaan fail utama untuk pengesahan sambungan, yang lebih selamat daripada menyimpan kata laluan dalam teks yang jelas dalam rentetan sambungan. Apabila menggunakan fail utama, anda boleh menyimpan maklumat kata laluan dalam fail yang disulitkan dan kemudian merujuk fail dalam rentetan sambungan. Ini menghalang kata laluan daripada terdedah dalam fail konfigurasi dan memberikan keselamatan yang lebih besar.
Contohnya: mysql://username:@hostname:port/database?authPlugins=CLIENT_PUBLIC_KEY_PATH&sslKey=/path/to/ssl.pem
Atas ialah kandungan terperinci Bagaimana untuk menjana rentetan sambungan MySQL yang lebih selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!