Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyambung dengan Selamat ke Pelayan MySQL Jauh Menggunakan SSL dalam PHP?

Bagaimana untuk Menyambung dengan Selamat ke Pelayan MySQL Jauh Menggunakan SSL dalam PHP?

Linda Hamilton
Lepaskan: 2024-11-19 21:39:03
asal
355 orang telah melayarinya

How to Securely Connect to a Remote MySQL Server Using SSL in PHP?

Sambung ke Pelayan MySQL Jauh dengan SSL daripada PHP

Menyambung ke pelayan MySQL jauh menggunakan SSL daripada PHP boleh mencabar, terutamanya apabila menggunakan fungsi mysql_connect yang sudah lapuk. Untuk mengatasi cabaran ini, adalah disyorkan untuk menggunakan MySQL Improved Extension (MySQLi), yang menawarkan fungsi yang dipertingkatkan dan sokongan SSL.

Menggunakan MySQLi

Kod PHP berikut menunjukkan bagaimana untuk mewujudkan sambungan yang disulitkan SSL menggunakan MySQLi:

ini_set('error_reporting', E_ALL);
ini_set('display_errors', '1');
error_reporting(E_ALL|E_STRICT);

$db = mysqli_init();
mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);

$db->ssl_set('/etc/mysql/ssl/client-key.pem', '/etc/mysql/ssl/client-cert.pem', '/etc/mysql/ssl/ca-cert.pem', NULL, NULL);
$link = mysqli_real_connect($db, 'ip', 'user', 'pass', 'db', 3306, NULL, MYSQLI_CLIENT_SSL);
if (!$link) {
    die('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "\n");
} else {
    $res = $db->query('SHOW TABLES;');
    print_r($res);
    $db->close();
}
Salin selepas log masuk

Sokongan SSL PDO_MYSQL

Menggunakan PDO_MYSQL dengan SSL memerlukan versi PHP terbaharu yang menyokong SSL. Untuk versi lebih awal daripada 5.3.8, pilihan SSL diabaikan. Walau bagaimanapun, sampel kod berikut menggambarkan konfigurasi SSL dengan PDO_MYSQL:

$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(
    PDO::MYSQL_ATTR_SSL_KEY    => '/etc/mysql/ssl/client-key.pem',
    PDO::MYSQL_ATTR_SSL_CERT   => '/etc/mysql/ssl/client-cert.pem',
    PDO::MYSQL_ATTR_SSL_CA     => '/etc/mysql/ssl/ca-cert.pem'
));
$statement = $pdo->query("SHOW TABLES;");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);
Salin selepas log masuk

Dengan mengikuti langkah-langkah ini dan menyesuaikan kod yang diberikan kepada persekitaran khusus anda, anda boleh berjaya mewujudkan sambungan selamat ke pelayan MySQL jauh menggunakan SSL daripada PHP.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Selamat ke Pelayan MySQL Jauh Menggunakan SSL dalam PHP?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan