如何验证SSL中PDO中的连接是否安全?

on

您好,我最近安装了与数据库关联的SSL证书,以保护数据库和Web服务器之间的数据传输安全。有关信息,我在Web服务器上使用MysqlServer(如BDD)和PDO发出请求。

我按照以下命令在MysqlServer上安装SSL证书:

sudo mysql_ssl_rsa_setup --uid=mysql

我还启用了此选项以保护所有交换(require_secure_transport = ON)。因此,该安装在Mysql服务器端工作得很好。

现在,当我想通过Web服务器通过PDO连接到数据库时,可以使用以下命令:

<?php

//Connexion à la base de données.
 $options = array(
 PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
 PDO::MYSQL_ATTR_SSL_CA => "-----BEGIN CERTIFICATE-----
 BLABLABLA
 -----END CERTIFICATE-----
",
 PDO::MYSQL_ATTR_SSL_CERT => "-----BEGIN CERTIFICATE-----
 BLABLABLA
 -----END CERTIFICATE-----
 ",
 PDO::MYSQL_ATTR_SSL_KEY => "-----BEGIN RSA PRIVATE KEY-----
 BLABLABLA
 -----END RSA PRIVATE KEY-----
 ",
 PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,);
 try
 {   
     $bdd = new PDO('mysql:host=***;dbname=***;charset=utf8', '***', '***', $options);
 }
 catch(Exception $e)
 {
     echo "Problème de connexion à la base de données. Réessayez !";
     exit();
 }
 ?>

在这里一切都可以工作,但是我想确保连接已加密。因此,从PDO,我执行了以下命令:SHOW SESSION STATUS LIKE“ Ssl_cipher”; 我得到的是:DHE-RSA-AES256-SHA。所以一切都很好。但是,一旦我更改了证书(例如删除几个字母和数字),连接就始终是“安全的”。当我指出证书的位置不正确时,也是如此。因此,我的印象是,即使没有证书,PDO连接仍然是安全的。你能为我澄清一下吗?

谢谢 ;)

on

显然,在最新版本的Mysql中,传输中的数据加密无需证书(在客户端)。无论如何,都不需要用PDO指定它们。为什么?Mysql的行为类似于HTTPS站点(登录到站点时,您的计算机上不需要已经存在证书)。所以我们可以做这样的事情:

$options = [
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
    PDO::MYSQL_ATTR_SSL_CA => true,
    PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
];
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在python的请求库中禁用SSL证书验证是否安全?

来自分类Dev

在 C# 中验证连接安全协议

来自分类Dev

如何在__construct()中创建PDO连接?

来自分类Dev

对于PDO PHP,将值存储在var中是否安全?

来自分类Dev

在Oracle Apex中禁用安全性验证SSL

来自分类Dev

如何安全关闭Trio中的连接?

来自分类Dev

如何连接使用 QT 中的 SSL Websocket

来自分类Dev

将验证码存储在Cookie中是否安全?

来自分类Dev

如何在nullmailer 1.0.5中启用安全身份验证(ssl,tls,starttls)。并将nullmailer升级到1.11

来自分类Dev

SSL连接的安全性如何?

来自分类Dev

如何验证HashMap中是否存在值

来自分类Dev

如何验证用户是否在正确的目录中?

来自分类Dev

如何验证用户是否在组中

来自分类Dev

linux +如何验证用户是否在组中?

来自分类Dev

如何验证表中是否存在列

来自分类Dev

如何使用PDO PHP在Postgresql DB中设置与模式的连接

来自分类Dev

PDO。如何将连接放在外部文件中

来自分类Dev

如何在AWS Lambda中调用SSL安全的REST服务

来自分类Dev

PDO SSL连接错误

来自分类Dev

如何在Powershell中安全验证AD用户(加密凭据)

来自分类Dev

如何在Python 2.7中安全地验证HMAC?

来自分类Dev

Google Map地理位置是否需要安全的SSL连接?

来自分类Dev

如何绕过Firefox 33中的“安全连接失败”警告

来自分类Dev

如何在HornetQ中接受安全的WebSocket连接

来自分类Dev

如何在Android应用中绕过SSL证书验证?

来自分类Dev

如何在pysimplesoap中忽略SSL证书验证

来自分类Dev

如何在python中验证服务器的SSL证书?

来自分类Dev

AWS ACM-DNS中的SSL证书验证如何工作

来自分类Dev

Golang中的安全关闭连接

Related 相关文章

热门标签

归档