Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die SSL-Übertragung

PHP implementiert die SSL-Übertragung

PHPz
PHPzOriginal
2023-05-28 20:22:06719Durchsuche

Mit der zunehmenden Bedeutung der Netzwerksicherheit hat sich die SSL-Übertragungsmethode (Secure Socket Layer) zu einer häufig verwendeten sicheren Übertragungsmethode im Bereich der Webentwicklung entwickelt. SSL gewährleistet die Sicherheit der Datenübertragung, indem es eine Sicherheitsschicht zwischen der Anwendungsschicht und der Transportschicht hinzufügt.

In PHP-Programmen ist es relativ einfach, eine SSL-Übertragung zu implementieren. In diesem Artikel wird erläutert, wie die SSL-Übertragungsfunktion über PHP implementiert wird.

1. SSL-Sicherheitszertifikat generieren

Um die SSL-Übertragung in PHP zu implementieren, müssen wir zunächst ein SSL-Sicherheitszertifikat generieren. Das Zertifikat kann über den Befehl openssl generiert werden:

  1. Öffnen Sie ein Terminal- oder Befehlszeilenfenster und geben Sie den folgenden Befehl ein, um eine private Schlüsseldatei zu generieren:

    openssl genrsa -out server.key 2048

    wobei server.key der Name ist der privaten Schlüsseldatei und 2048 ist die Länge der generierten privaten Schlüsseldatei. Die generierte private Schlüsseldatei befindet sich standardmäßig im aktuellen Befehlsausführungsverzeichnis.

  2. Geben Sie den folgenden Befehl ein, um eine Zertifikatssignierungsanforderung (CSR) zu generieren:

    openssl req -new -key server.key -out server.csr

    wobei server.csr der Name der Zertifikatssignierungsanforderungsdatei ist.

  3. Zertifikat erstellen. Sie können selbst ein selbstsigniertes Zertifikat erstellen oder ein Zertifikat bei einer Behörde erwerben. Hier generieren wir ein selbstsigniertes Zertifikat und geben den folgenden Befehl ein:

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    Der Parameter -days gibt die Gültigkeitsdauer des Zertifikats an, und 365 bedeutet, dass das Zertifikat ein Jahr gültig ist. Die generierte Zertifikatsdatei trägt den Namen server.crt.

Zu diesem Zeitpunkt haben wir das SSL-Sicherheitszertifikat generiert, das in PHP verwendet werden kann.

2. HTTPS-Übertragung implementieren

Als nächstes können wir die HTTPS-Übertragung in einer einfachen PHP-Webseite implementieren.

  1. Öffnen Sie die PHP-Codedatei und fügen Sie den folgenden Code hinzu:

    <?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;
    ?>

    Verwenden Sie die Funktion stream_context_create, um einen Kontext zu erstellen und SSL-bezogene Parameter zu konfigurieren: Legen Sie den Pfad der SSL-Zertifikatdatei fest und überprüfen Sie nicht die Zertifikatquelle und den Zertifikatnamen.

  2. Speichern Sie die Codedatei und legen Sie die Zertifikatsdateien server.crt und server.key im selben Verzeichnis ab.
  3. Starten Sie den PHP-Server lokal:

    php -S localhost:80

    wobei 80 der Standard-HTTP-Port ist.

  4. Geben Sie die URL-Adresse: https://localhost in den Browser ein, um auf die HTTPS-Webseite zuzugreifen.

Zu diesem Zeitpunkt haben wir die SSL-Übertragungsfunktion über PHP implementiert.

3. Überlegungen zur SSL-Sicherheit

Obwohl die SSL-Übertragungsfunktion über PHP implementiert wird, müssen in tatsächlichen Anwendungen die folgenden Sicherheitsaspekte berücksichtigt werden.

  1. Zertifikatssicherheit: Beim Generieren eines Zertifikats ist ein privater Schlüssel erforderlich. Daher muss die Sicherheit des privaten Schlüssels verwaltet werden, um zu verhindern, dass der private Schlüssel preisgegeben wird.
  2. Gültigkeitsdauer des Zertifikats: Nach Ablauf des Zertifikats ist die Website nicht mehr zugänglich, daher muss das Zertifikat rechtzeitig aktualisiert werden.
  3. Quelle des Zertifikats: Um die Legitimität des Zertifikats sicherzustellen, müssen Sie das Zertifikat von einer Behörde erwerben oder das Zertifikat selbst ausstellen und das Stammzertifikat im Browser installieren, um die Quelle des Zertifikats zu überprüfen.

4. Zusammenfassung

In der Einleitung dieses Artikels haben wir gelernt, wie man die SSL-Übertragungsfunktion über PHP implementiert, und haben kurz Fragen im Zusammenhang mit der SSL-Sicherheit vorgestellt. Um die Sicherheit der Datenübertragung zu gewährleisten, können wir bei der Webentwicklung die SSL-Übertragung verwenden, um die Daten vor Diebstahl oder Manipulation durch Zwischenhändler zu schützen.

Das obige ist der detaillierte Inhalt vonPHP implementiert die SSL-Übertragung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn