【PHP8.x】CURLOPT_DOH_SSL_VERIFYHOST定数の使い方
CURLOPT_DOH_SSL_VERIFYHOST定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
CURLOPT_DOH_SSL_VERIFYHOST定数は、PHPのcURL拡張機能において、DNS over HTTPS (DoH) を利用する際のSSL/TLS証明書によるホスト名検証の挙動を設定するために用いられる定数です。この定数は、アプリケーションがDoHリゾルバ(DNS情報をHTTPS経由で提供するサーバー)に接続する際に、そのサーバーが信頼できる正規のものであることを確認するための重要なセキュリティ設定を制御します。
具体的には、DoH通信先のサーバーが提示するSSL/TLS証明書に含まれるホスト名情報が、実際に接続しようとしているサーバーのホスト名と一致するかどうかを検証するかを設定します。この検証を適切に行うことは、通信経路上でのなりすましや中間者攻撃を防ぎ、データの機密性と完全性を保護するために不可欠です。
通常、この定数には検証の厳格さを表す数値が指定されます。例えば、0を設定するとホスト名の検証を行わないため、セキュリティリスクが高まります。推奨される設定は2で、これは証明書のCommon Name (CN) またはSubject Alternative Name (SAN) とホスト名が完全に一致するかを厳格に検証することを意味します。
システム開発において、特に外部サービスとのセキュアな通信が求められる場面では、この定数を正しく理解し、適切な検証レベルを設定することが非常に重要です。安全なDoH通信を確立することで、DNSクエリのプライバシーとセキュリティを確保し、堅牢なシステム構築に貢献します。
構文(syntax)
1curl_setopt($ch, CURLOPT_DOH_SSL_VERIFYHOST, true);
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません