ネットワーク セキュリティの重要性が高まるにつれ、SSL (Secure Socket Layer) 伝送方式が Web 開発の分野で一般的に使用される安全な伝送方式になりました。 SSL は、アプリケーション層とトランスポート層の間にセキュリティ層を追加することで、データ送信のセキュリティを確保します。
PHP プログラムでは、SSL 送信を実装するのは比較的簡単です。この記事では、PHPでSSL通信機能を実装する方法を紹介します。
PHP で SSL 送信を実装するには、まず SSL セキュリティ証明書を生成する必要があります。 openssl コマンドを使用して証明書を生成できます。具体的な手順は次のとおりです:
ターミナルまたはコマンド ライン ウィンドウを開き、次のコマンドを入力して秘密キー ファイルを生成します:
openssl genrsa -out server.key 2048
ここで、server.key は秘密キー ファイルの名前、2048 は生成された秘密キー ファイルの長さです。生成された秘密キー ファイルは、デフォルトでは現在のコマンド実行ディレクトリにあります。
次のコマンドを入力して、証明書署名要求 (CSR) を生成します。
openssl req -new -key server.key -out server.csr
ここで、server.csr は証明書署名要求のファイル名です。
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt-days パラメーターは、証明書の有効期間を指定します。365 は、証明書が 1 年間有効であることを意味します。生成された証明書ファイルの名前は、server.crt です。
<?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; ?>stream_context_create 関数を使用してコンテキストを作成し、SSL 関連パラメータを構成します。SSL 証明書ファイルのパスを設定します。また、証明書のソースと証明書名を検証しません。
php -S localhost:80ここで、80 はデフォルトの HTTP ポートです。
以上がphpでSSL通信を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。