如何使用PHP/PDO从Ubuntu创建到SQL Server的加密连接

Hor*_*Kol 7 php sql-server ubuntu pdo

我正在尝试从在Ubuntu上运行的PHP/Zend Framework应用程序和远程位置连接到SQL Server.

我正在尝试让连接应用程序从SQL Server请求加密(因为1433上的默认连接是明确的,我不希望我的凭据被嗅探).

我在SQL Server上配置了通配符SSL证书,我正在使用以下DSN创建PDO连接:

dblib:host=server-not-matching-domain.com:1433;dbname=MyDB;Encrypt=true;TrustServerCertificate=false;charset=
Run Code Online (Sandbox Code Playgroud)

取自http://blogs.msdn.com/b/brian_swan/archive/2011/03/08/sql-server-driver-for-php-connection-options-encrypt.aspx

由于主机名与安装的证书不匹配,我希望连接失败 - 但它不会失败.

Pra*_*ape -3

这比仅仅设置一个标志更复杂。

请参阅此博客:http://www.madirish.net/214

  1. 您必须在 mysql 服务器上创建或安装 ssl 证书。
  2. 在 my.cnf 中进行以下设置:

    ssl-ca=/etc/ssl/mysql/server.csr
    ssl-cert=/etc/ssl/mysql/server.cert
    ssl-key=/etc/ssl/mysql/server.key

  3. 重启mysql:mysqld restart

  4. 创建客户端密钥

  5. 将这些密钥与用户名和密码一起发送。

以下 stackoverflow 答案详细解释了它:

从 PHP 使用 SSL 连接到远程 MySQL 服务器

PHP 到 MySQL SSL 连接

希望能帮助到你。

  • 这个问题被标记为“sql-server”,表示 Microsoft SQL Server。您的答案是 MySQL,它是一种不同的 DBMS 产品。 (3认同)