MYSQLI_CLIENT_SSL和MYSQLI_OPT_SSL_VERIFY_SERVER_CERT有什么区别? [英] What's the difference between MYSQLI_CLIENT_SSL and MYSQLI_OPT_SSL_VERIFY_SERVER_CERT?

查看:80
本文介绍了MYSQLI_CLIENT_SSL和MYSQLI_OPT_SSL_VERIFY_SERVER_CERT有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这通常是我使用SSL连接到MySQL数据库的方式:

This is how I usually connect to a MySQL database using SSL:

$db = mysqli_init();
mysqli_ssl_set(
    $db,
    NULL,
    NULL,
    '/etc/ssl/my-certs/ssl-ca.crt.pem',
    NULL,
    NULL
);
mysqli_real_connect(
    $db,
    'db.example.com',
    'john',
    '123456',
    NULL,
    NULL,
    NULL,
    MYSQLI_CLIENT_SSL
);

据我了解,MYSQLI_CLIENT_SSL标志对于使 mysqli::real_connect 使用SSL连接到服务器.

From what I understand, the MYSQLI_CLIENT_SSL flag is necessary to make mysqli::real_connect connect to the server using SSL.

今天,我偶然发现了 mysqli::options 的文档,并且注意到它接受MYSQLI_OPT_SSL_VERIFY_SERVER_CERT作为选项,但是,可惜,它的描述为空白.所以,我想知道:

Today I stumbled upon the documentation for mysqli::options, and noticed that it accepts MYSQLI_OPT_SSL_VERIFY_SERVER_CERT as an option, but, alas, its description is blank. So, I wonder:

  1. 何时需要添加mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);?
  2. 何时需要使用MYSQLI_CLIENT_SSL标志?
  3. 我什么时候需要设置它们两者?
  1. When do I need to add mysqli_options($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);?
  2. When do I need to use the MYSQLI_CLIENT_SSL flag?
  3. When will I need to set both of them?

推荐答案

  1. MYSQLI_OPT_SSL_VERIFY_SERVER_CERT(true),当您想根据众所周知的权限验证服务器证书以确保这是与受信任主机的连接时使用.如果服务器上具有自签名证书,请不要使用它.

  1. MYSQLI_OPT_SSL_VERIFY_SERVER_CERT (true) used when you want to verify server certificate against well known authorities to ensure that this is connection to trusted host. Do not use it if you have self-signed certificate on server.

MYSQLI_CLIENT_SSL.

当您拥有由权威机构提供的mysql服务器证书并想要加密时+

When you have on mysql-server certificate provided by authorities and want encryption + MITM-attack protection use both MYSQLI_OPT_SSL_VERIFY_SERVER_CERT and MYSQLI_CLIENT_SSL.

这篇关于MYSQLI_CLIENT_SSL和MYSQLI_OPT_SSL_VERIFY_SERVER_CERT有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆