Maison  >  Article  >  développement back-end  >  php implémente la transmission SSL

php implémente la transmission SSL

PHPz
PHPzoriginal
2023-05-28 20:22:06719parcourir

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.

1. Générer un certificat de sécurité SSL

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 :

  1. 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.

  2. 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.

  3. 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.

2. Implémenter la transmission HTTPS

Ensuite, nous pouvons implémenter la transmission HTTPS dans une simple page Web PHP.

  1. 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.

  2. Enregistrez le fichier de code et placez les fichiers de certificat server.crt et server.key dans le même répertoire.
  3. Démarrez le serveur PHP localement :

    php -S localhost:80

    où 80 est le port HTTP par défaut.

  4. Entrez l'adresse URL : https://localhost dans le navigateur pour accéder à la page Web HTTPS.

À ce stade, nous avons implémenté la fonction de transmission SSL via PHP.

3. Considérations sur la sécurité SSL

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.

  1. Sécurité du certificat : une clé privée est requise lors de la génération d'un certificat, la sécurité de la clé privée doit donc être gérée pour éviter toute fuite de la clé privée.
  2. Durée de validité du certificat : après l'expiration du certificat, le site Web sera inaccessible, le certificat doit donc être mis à jour à temps.
  3. Source du certificat : Afin de garantir la légitimité du certificat, vous devez acheter le certificat auprès d'une autorité ou émettre le certificat vous-même, et installer le certificat racine dans le navigateur pour vérifier la source du certificat.

4. Résumé

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!

Déclaration:
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