Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】STREAM_CRYPTO_METHOD_SSLv23_SERVER定数の使い方

STREAM_CRYPTO_METHOD_SSLv23_SERVER定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

STREAM_CRYPTO_METHOD_SSLv23_SERVER定数は、PHPのストリーム機能において、暗号化された通信(SSL/TLS)を確立する際のサーバー側の挙動を指定するための定数です。この定数は、stream_socket_server()関数などでサーバーソケットを作成し、その上でSSL/TLS暗号化を有効にする際に、stream_context_create()関数で作成したコンテキストオプション(特にcrypto_methodオプション)の値として使用されます。

具体的には、SSLv2、SSLv3、TLSv1.0、TLSv1.1、TLSv1.2、そしてTLSv1.3といった、様々なバージョンのSSL/TLSプロトコルをサーバー側で受け入れることを示します。これにより、接続を試みるクライアントは、これらのプロトコルの中から適切なバージョンを選択して安全な通信路を確立できます。

ただし、SSLv2やSSLv3プロトコルには既知のセキュリティ上の脆弱性が存在するため、現在ではこれらの古いバージョンを使用することは推奨されていません。PHPのバージョンやOpenSSLライブラリの設定によっては、これらのプロトコルが自動的に無効化されている場合もあります。新しいアプリケーションでは、より安全なTLSプロトコルのみを許可する定数(例: STREAM_CRYPTO_METHOD_TLS_SERVER)を使用することが強く推奨されます。この定数を使用する際は、セキュリティ上のリスクを十分に理解し、最新のセキュリティ要件に適合するよう注意が必要です。

構文(syntax)

1<?php
2$contextOptions = [
3    'ssl' => [
4        'crypto_method' => STREAM_CRYPTO_METHOD_SSLv23_SERVER
5    ]
6];
7?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ