与 ADODB 的 SSL 连接

发布于 2024-08-07 09:35:29 字数 170 浏览 5 评论 0原文

我有一个项目即将结束,但刚刚收到 DBA 的请求,要求我们所有的连接都采用 SSL。因此,我在生成 ADODB 实例的对象中将驱动程序切换为 mysqli,但我没有看到任何创建安全连接的本机方法。

使事情变得更加困难的是,每种连接类型(读取和写入)都有一组不同的证书和密钥。

有人有什么想法吗?

I have a project we are about to wrap up, but just got a request from the DBA to make all our connections SSL. So I switched the driver to mysqli in the object that turns out ADODB instances, but I don't see any native method to create secure connections.

To make things more difficult, there is a different set of certs and keys per connection type (read and write).

Anyone have any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泡沫很甜 2024-08-14 09:35:29

诀窍是在
NewADOConnection() 调用(而不是
通过 Connect() 调用进行身份验证)
并使用 mysqli 驱动程序。数据服务网络
语法允许您向客户端提供
标志,并且有一个 mysqli 标志
使用 SSL 证书。

$dsn = 'mysqli://ssluser:sslpass@dbhost/test?clientflags=2048';

$dbh = NewADOConnection($dsn);

$sql = "show status like 'ssl_cipher'";
$res =& $dbh->Execute($sql);
print_r( $res->fields );
$res->Close();
$dbh->Close();

这个问题的答案可以在:

http://mbrisby .blogspot.com/2008/06/adodb-php-mysql-ssl.html

以下是 MySQL 客户端标志的参考:

http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol

The trick is to use a DSN in the
NewADOConnection() call (rather than
authenticating with a Connect() call)
and to use the mysqli driver. The DSN
syntax allows you to supply client
flags, and there's a mysqli flag for
using SSL certificates.

$dsn = 'mysqli://ssluser:sslpass@dbhost/test?clientflags=2048';

$dbh = NewADOConnection($dsn);

$sql = "show status like 'ssl_cipher'";
$res =& $dbh->Execute($sql);
print_r( $res->fields );
$res->Close();
$dbh->Close();

The answer to this question is found at:

http://mbrisby.blogspot.com/2008/06/adodb-php-mysql-ssl.html

Here is the reference to MySQL Client Flags:

http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol

巡山小妖精 2024-08-14 09:35:29

我更喜欢带有 Connect 方法和 clientFlags 属性的方法。

$dbc = NewADOConnection('mysqli');
$dbc->clientFlags = CLIENT_SSL;
$this->dbc->Connect('dbhost', 'ssluser', 'sslpass', 'test');

他们中的任何一个都会起作用。

I prefer the one with the Connect method, and clientFlags property.

$dbc = NewADOConnection('mysqli');
$dbc->clientFlags = CLIENT_SSL;
$this->dbc->Connect('dbhost', 'ssluser', 'sslpass', 'test');

Either of them would work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文