如何在 PHP 中使用 SSL 安全連接到遠端 MySQL 伺服器?

Linda Hamilton
發布: 2024-11-19 21:39:03
原創
291 人瀏覽過

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

使用PHP 的SSL 連接到遠端MySQL 伺服器

使用PHP 的SSL 連接到遠端MySQL 伺服器可能具有挑戰性,尤其是在遠端使用過時的mysql_connect 函數。為了克服這項挑戰,建議使用 MySQL 改進擴充功能 (MySQLi),它提供增強的功能和 SSL 支援。

使用MySQLi

以下PHP 程式碼示範如何使用MySQLi 建立SSL 加密連線:

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();
}
登入後複製

PDOd SSL>

將PDO_MYSQL 與SSL 結合使用需要支援SSL 的最新PHP 版本。對於 5.3.8 之前的版本,SSL 選項將被忽略。但是,以下程式碼範例說明了PDO_MYSQL 的SSL 配置:

$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']);
登入後複製
透過執行以下步驟並根據您的特定環境調整提供的程式碼,您可以使用SSL 成功建立與遠端MySQL 伺服器的安全連線:SQL PHP。

以上是如何在 PHP 中使用 SSL 安全連接到遠端 MySQL 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板