OUJOOD.COM
Définition et utilisation: SSL_SET()/mysqli_ssl_set() en PHP
La fonction ssl_set() ou mysqli_ssl_set() est utilisée pour établir une connexion sécurisée avec un serveur MySQL en utilisant SSL. Elle doit être appelée avant la fonction mysqli_real_connect().Si le support OpenSSL n'est pas activé, cette fonction ne fait rien.
Syntaxe orientée objet
public function ssl_set(?string $key, ?string $certificate, ?string $ca_certificate, ?string $ca_path, ?string $cipher_algos): bool
Paramètres
- key (optionnel) : le chemin vers le fichier de clé PEM du client.
- certificate (optionnel) : le chemin vers le fichier de certificat PEM du client.
- ca_certificate (optionnel) : le chemin vers le fichier de certificat PEM de l'autorité de certification (CA).
- ca_path (optionnel) : le chemin vers un répertoire contenant des fichiers de certificats PEM de CA.
- cipher_algos (optionnel) : une liste de noms de chiffrements SSL autorisés.
Retour
La fonction retourne true si la connexion sécurisée a été établie avec succès, ou false en cas d'échec.
Syntaxe procédurale
bool mysqli_ssl_set(mysqli $mysql, ?string $key, ?string $certificate, ?string $ca_certificate, ?string $ca_path, ?string $cipher_algos)
Exemples
Approche orientée objet
Exemple : 📋 Copier le code
<?php // Chargement des certificats $key = '/path/to/key.pem'; $certificate = '/path/to/certificate.pem'; $ca_certificate = '/path/to/ca_certificate.pem'; // Connexion à la base de données $mysqli = new mysqli('localhost', 'username', 'password', 'database'); // Configuration de la connexion SSL $mysqli->ssl_set($key, $certificate, $ca_certificate); // Exécution d'une requête $result = $mysqli->query('SELECT * FROM table'); ?>
Approche procédurale
Exemple : 📋 Copier le code
<?php // Chargement des certificats $key = '/path/to/key.pem'; $certificate = '/path/to/certificate.pem'; $ca_certificate = '/path/to/ca_certificate.pem'; // Connexion à la base de données $mysqli = mysqli_connect('localhost', 'username', 'password', 'database'); // Configuration de la connexion SSL mysqli_ssl_set($mysqli, $key, $certificate, $ca_certificate); // Exécution d'une requête $result = mysqli_query($mysqli, 'SELECT * FROM table'); ?>
Astuces et conseils
- Pour que la connexion sécurisée fonctionne, il est nécessaire que le serveur MySQL soit configuré pour utiliser SSL.
- Les fichiers de certificats doivent être au format PEM.
- Le chemin vers les fichiers de certificats doit être accessible au serveur PHP.
- Les paramètres cipher_algos peuvent être utilisés pour spécifier les chiffrements SSL autorisés.
Conclusion
La fonction ssl_set() ou mysqli_ssl_set() est un outil important pour sécuriser les connexions à une base de données MySQL. Elle permet de protéger les données sensibles contre l'interception et la modification.
OpenSSL
OpenSSL est une bibliothèque logicielle open source qui fournit un ensemble d'outils pour l'utilisation des protocoles Secure Sockets Layer (SSL) et Transport Layer Security (TLS). Ces protocoles sont utilisés pour sécuriser la communication entre deux entités, telles qu'un navigateur web et un serveur web.
Le support OpenSSL dans PHP permet aux développeurs d'utiliser la bibliothèque OpenSSL dans leurs scripts PHP. Cela leur permet de sécuriser leurs applications en chiffrant les données échangées avec des serveurs distants.
Pour activer le support OpenSSL dans PHP, vous devez installer la bibliothèque OpenSSL sur votre système. Vous pouvez trouver des instructions d'installation pour votre système d'exploitation sur le site web d'OpenSSL.
Une fois que la bibliothèque OpenSSL est installée, vous devez configurer PHP pour l'utiliser. Vous pouvez le faire en ajoutant la ligne suivante à votre fichier de configuration PHP :
extension=openssl
Vous pouvez également activer le support OpenSSL en ligne de commande en utilisant la commande suivante :
php -d extension=openssl
Une fois que le support OpenSSL est activé, vous pouvez commencer à utiliser la bibliothèque OpenSSL dans vos scripts PHP. Pour plus d'informations, vous pouvez consulter la documentation de PHP ou la documentation d'OpenSSL.
Voici quelques exemples d'utilisation de la bibliothèque OpenSSL dans PHP :
- Pour générer un certificat SSL, vous pouvez utiliser la fonction openssl_csr_new().
- Pour signer un certificat SSL, vous pouvez utiliser la fonction openssl_verify().
- Pour chiffrer des données, vous pouvez utiliser la fonction openssl_encrypt().
- Pour déchiffrer des données, vous pouvez utiliser la fonction openssl_decrypt().