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

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

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

作成日: 更新日:

基本的な使い方

CURLKHMATCH_MISMATCH定数は、PHP 8のcURL拡張機能において、SSH(Secure Shell)接続時に利用される既知ホスト(Known Hosts)の検証結果が「不一致」であることを示す定数です。cURLライブラリがSSHセッションを確立する際、接続先のホストが提供する公開鍵が、ローカルに保存されている既知ホストファイル(例: ~/.ssh/known_hosts)内の情報と一致するかどうかを確認します。

この定数は、主にCURLOPT_SSH_KNOWNHOSTSオプションと組み合わせて使用されます。CURLKHMATCH_MISMATCHが返された場合、それは接続しようとしているリモートホストの公開鍵が、既知ホストファイルに登録されている情報と異なっていることを意味します。この不一致は、ホストの身元が変更された可能性や、場合によっては中間者攻撃(Man-in-the-Middle attack)のようなセキュリティ上の脅威を示唆している可能性があります。

システムエンジニアを目指す初心者の方にとっては、この定数が返される状況は「接続しようとしているサーバーの正当性が確認できない」状態だと理解すると良いでしょう。プログラムがこの定数を受け取った場合、セキュリティリスクを回避するために、通常は接続を中断し、ユーザーや管理者に対して警告を発するなどの適切な対処が求められます。既知ホストファイルの内容を確認し、必要に応じて更新することが重要になります。

構文(syntax)

1<?php
2echo CURLKHMATCH_MISMATCH;
3?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

CURLKHMATCH_MISMATCHは、証明書のハッシュ値が期待される値と一致しないことを示す整数値です。

関連コンテンツ

【PHP8.x】CURLKHMATCH_MISMATCH定数の使い方 | いっしー@Webエンジニア