Maison > base de données > tutoriel mysql > le corps du texte

Comment se connecter en toute sécurité à un serveur MySQL distant à l'aide de SSL en PHP ?

Linda Hamilton
Libérer: 2024-11-19 21:39:03
original
293 Les gens l'ont consulté

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

Se connecter à un serveur MySQL distant avec SSL depuis PHP

La connexion à un serveur MySQL distant à l'aide de SSL depuis PHP peut être difficile, en particulier lors de l'utilisation la fonction mysql_connect obsolète. Pour surmonter ce défi, il est recommandé d'utiliser l'extension améliorée MySQL (MySQLi), qui offre des fonctionnalités améliorées et une prise en charge SSL.

Utilisation de MySQLi

Le code PHP suivant démontre comment établir une connexion cryptée SSL à l'aide de 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();
}
Copier après la connexion

Support SSL PDO_MYSQL

L'utilisation de PDO_MYSQL avec SSL nécessite une version récente de PHP prenant en charge SSL. Pour les versions antérieures à 5.3.8, les options SSL sont ignorées. Cependant, l'exemple de code suivant illustre la configuration SSL avec 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']);
Copier après la connexion

En suivant ces étapes et en adaptant le code fourni à votre environnement spécifique, vous pouvez réussir à établir une connexion sécurisée à un serveur MySQL distant à l'aide de SSL depuis PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal