【PHP8.x】CURLOPT_PROXY_SSL_VERIFYHOST定数の使い方
CURLOPT_PROXY_SSL_VERIFYHOST定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLOPT_PROXY_SSL_VERIFYHOST定数は、PHPのcURL拡張機能において、プロキシサーバーを介してセキュアなSSL/TLS接続を行う際に、接続先のホスト名がSSL証明書と一致するかどうかを検証するための挙動を設定するオプションを表す定数です。この定数は、curl_setopt() 関数を使用してcURLハンドルに設定します。
具体的には、CURLOPT_PROXY_SSL_VERIFYHOST オプションの値として整数を指定することで、ホスト名検証の厳格さを制御できます。値が 0 の場合、プロキシ経由での接続先ホスト名の検証は行われません。これはSSL/TLS接続のセキュリティを著しく低下させるため、本番環境での使用は強く非推奨とされています。悪意のある第三者による中間者攻撃のリスクを高める可能性があります。
値が 1 の場合、SSL証明書にホスト名が存在するかどうかのみが検証されます。そして、最も安全で推奨される値は 2 です。この値では、証明書のCommon Name (CN) または Subject Alternative Name (SAN) の値と接続先のホスト名が厳密に一致するかどうかが検証されます。システムエンジニアとしては、セキュリティを確保するためにも、特別な理由がない限りは 2 を設定することが重要です。この設定により、信頼できないプロキシサーバーや偽装されたサーバーへの誤接続を防ぎ、通信の安全性を確保することができます。
構文(syntax)
1curl_setopt($ch, CURLOPT_PROXY_SSL_VERIFYHOST, 2);
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
CURLOPT_PROXY_SSL_VERIFYHOST定数は、プロキシ経由で接続する際のSSL証明書のホスト名検証の挙動を制御するための整数値を返します。この値は、検証を有効にするか無効にするか、あるいは特定の検証レベルを設定するために使用されます。