mysqliを使ってPHPでMySQLにSSLで接続する

MySQLサーバがクライアントとは別のコンピュータにある場合、ネットワークを平文で流れるデータを途中でキャプチャされる可能性がある。そこでSSL接続することにする。

■ソース

以下のように、リソースを生成後にmysqli_ssl_setでSSLをセットしてから、mysqli_real_connectを使って接続する。

$dbh   = mysqli_init();
$isSSL = @ mysqli_ssl_set(
    $dbh,
    '/home/ssl/key.pem',
    null,
    null,
    null,
    null
);
$isConnected = @ mysqli_real_connect(
    $dbh,
    DB_HOST,
    DB_USER,
    DB_PASS,
    DB_NAME,
    DB_PORT,
    null,
    MYSQLI_CLIENT_SSL
);

mysqliを使ってPHPでMySQLにSSLで接続する” への1件のコメント

  1. 記事拝読いたしました。
    勉強させていただき、ありがとうございます。

    1点お伺いしたいのですが、
    18行目の
    MYSQLI_CLIENT_SSLは、必須でしょうか?

    php.net で
    MYSQLI_CLIENT_SSL
    を使っていない Notes がありましたもので。。
    http://www.php.net/manual/en/mysqli.ssl-set.php

    ご意見お聞かせいただけましたら幸甚です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です