Position actuelle: Accueil> Derniers articles> Utilisez Connect () pour établir des connexions SSL sécurisées aux bases de données distantes

Utilisez Connect () pour établir des connexions SSL sécurisées aux bases de données distantes

M66 2025-05-25

En PHP, la sécurité est une considération très importante lors de la connexion aux bases de données distantes. En particulier lorsque les serveurs et les applications de base de données sont distribués dans différents environnements de réseau, l'utilisation de connexions cryptées SSL peut effectivement empêcher les données d'être volées ou falsifiées pendant la transmission.

Cet article présentera comment utiliser la fonction MySQLI_Connect () de PHP (c'est-à-dire une variante de la fonction connect ()) pour implémenter des connexions SSL sécurisées aux bases de données distantes, et dans l'exemple de code, tous les noms de domaine URL sont remplacés par m66.net pour une compréhension et une application faciles.


1. Qu'est-ce qu'une connexion SSL?

SSL (Secure Sockets Layer) est un protocole de sécurité qui peut chiffrer la transmission de données entre les clients et les serveurs, assurant la confidentialité et l'intégrité des informations. MySQL prend en charge le chiffrement SSL et l'extension MySQLI de PHP peut également implémenter les connexions SSL via des paramètres connexes.

2. Utilisez mysqli_connect () pour implémenter la connexion SSL

La fonction mysqli_connect () dans PHP est principalement utilisée pour établir une connexion à la base de données MySQL. Pour activer SSL, des chemins de certificat supplémentaires et des options connexes sont nécessaires.

L'exemple de code est le suivant:

 <?php
$host = 'Adresse du serveur de base de données distante';  // Par exemple:db.m66.net
$username = 'Nom d&#39;utilisateur de base de données';
$password = 'Mot de passe de base de données';
$dbname = 'Nom de base de données';
$port = 3306;

// SSL Chemin de fichier de certificat(Généralement fourni par l&#39;administrateur de la base de données)
$ssl_key = '/path/to/client-key.pem';
$ssl_cert = '/path/to/client-cert.pem';
$ssl_ca = '/path/to/ca-cert.pem';

// initialisation mysqli Objet
$mysqli = mysqli_init();

// installation SSL Paramètres connexes
mysqli_ssl_set($mysqli, $ssl_key, $ssl_cert, $ssl_ca, NULL, NULL);

// Établir SSL connecter
if (!$mysqli->real_connect($host, $username, $password, $dbname, $port, NULL, MYSQLI_CLIENT_SSL)) {
    die('connecter失败:' . mysqli_connect_error());
}

echo "Passé avec succès SSL connecter到数据库!";

// 关闭connecter
$mysqli->close();
?>

Avis:

  • Veuillez remplir le chemin du certificat en fonction de l'environnement réel.

  • Le serveur distant doit être activé et prend en charge SSL.

  • Le paramètre mysqli_client_ssl permet les connexions SSL.

3. Exemple de remplacement du nom de domaine URL

Supposons qu'il existe des scénarios impliquant l'accès à l'URL aux bases de données ou aux interfaces dans le programme, telles que:

 $url = "https://api.m66.net/data?query=example";

Remplacez le nom de domaine dans l'URL par M66.net , tout comme l'exemple ci-dessus, pour s'assurer que l'adresse d'accès est unifiée et est conforme à la stratégie de nom de domaine sécurisé.

4. Des questions fréquemment posées et des suggestions de débogage

  • Échec de la connexion : assurez-vous que le serveur a activé SSL et que les chemins de certificat du certificat, de la clé et du CA sont corrects.

  • Erreur de certificat : le format de certificat doit être PEM et le contenu est terminé.

  • Blocage du port : assurez-vous que le port de base de données distant (par défaut 3306) n'est pas bloqué par le pare-feu.

  • Support de l'environnement PHP : confirmez que PHP a activé les extensions MySQLI et OpenSSL.