Avec l'accent croissant mis sur la sécurité des réseaux, la méthode de transmission SSL (Secure Socket Layer) est devenue une méthode de transmission sécurisée couramment utilisée dans le domaine du développement Web. SSL assure la sécurité de la transmission des données en ajoutant une couche de sécurité entre la couche application et la couche transport.
Dans les programmes PHP, il est relativement simple d'implémenter la transmission SSL. Cet article explique comment implémenter la fonction de transmission SSL via PHP.
Pour implémenter la transmission SSL en PHP, nous devons d'abord générer un certificat de sécurité SSL. Le certificat peut être généré via la commande openssl. Les étapes spécifiques sont les suivantes :
Ouvrez une fenêtre de terminal ou de ligne de commande et entrez la commande suivante pour générer un fichier de clé privée :
openssl genrsa -out server.key 2048
où server.key est le nom. du fichier de clé privée et 2048 est la longueur du fichier de clé privée généré. Le fichier de clé privée généré se trouve par défaut dans le répertoire d’exécution de la commande actuelle.
Entrez la commande suivante pour générer une demande de signature de certificat (CSR) :
openssl req -new -key server.key -out server.csr
où server.csr est le nom du fichier de demande de signature de certificat.
Générer un certificat. Vous pouvez générer vous-même un certificat auto-signé ou acheter un certificat auprès d'une autorité. Ici, nous générons un certificat auto-signé et saisissons la commande suivante :
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Le paramètre -days spécifie la période de validité du certificat, et 365 signifie que le certificat est valable un an. Le fichier de certificat généré est nommé server.crt.
À ce stade, nous avons généré le certificat de sécurité SSL, qui peut être utilisé en PHP.
Ensuite, nous pouvons implémenter la transmission HTTPS dans une simple page Web PHP.
Ouvrez le fichier de code PHP et ajoutez le code suivant :
<?php $context = stream_context_create([ 'ssl' => [ 'local_cert' => '/path/to/server.crt', // SSL证书文件路径 'verify_peer' => false, // 不验证证书来源 'verify_peer_name' => false, // 不验证证书名称 ] ]); $https_url = 'https://example.com/'; $content = file_get_contents($https_url, false, $context); echo $content; ?>
Utilisez la fonction stream_context_create pour créer un contexte et configurer les paramètres liés à SSL : définissez le chemin du fichier de certificat SSL et ne vérifiez pas la source du certificat et le nom du certificat.
Démarrez le serveur PHP localement :
php -S localhost:80
où 80 est le port HTTP par défaut.
À ce stade, nous avons implémenté la fonction de transmission SSL via PHP.
Bien que la fonction de transmission SSL soit implémentée via PHP, les problèmes de sécurité suivants doivent être pris en compte dans les applications pratiques.
Grâce à l'introduction de cet article, nous avons appris comment implémenter la fonction de transmission SSL via PHP et avons brièvement présenté les problèmes liés à la sécurité SSL. Lorsque nous développons des sites Web, afin de garantir la sécurité de la transmission des données, nous pouvons utiliser la transmission SSL pour protéger les données contre le vol ou la falsification par des intermédiaires.
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!