oujood.com

SSL_SET() / mysqli_ssl_set() en PHP : comment sécuriser les connexions MySQL

SSL_SET() et mysqli_ssl_set() sont deux fonctions PHP qui permettent de configurer des connexions MySQL sécurisées. Dans cet article, nous vous expliquons en détail comment utiliser ces fonctions.

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().



Voir aussi nos tutoriel :

fonction substr, substr

Retourne un segment de chaîne

fonction crypt

Hachage sens unique (indéchiffrable)

dessiner avec php

La librairie GD introduction