1

私はプロジェクトを完了しようとしていますが、DBA からすべての接続を SSL にするように要求されました。そのため、ADODB インスタンスを生成するオブジェクトでドライバーを mysqli に切り替えましたが、安全な接続を作成するためのネイティブ メソッドは見当たりません。

さらに困難なことに、接続の種類 (読み取りと書き込み) ごとに異なる証明書とキーのセットがあります。

誰にもアイデアはありますか?

4

2 に答える 2

2

その秘訣は、(Connect() 呼び出しで認証するのではなく) NewADOConnection() 呼び出しで DSN を使用し、mysqli ドライバーを使用することです。DSN 構文を使用すると、クライアント フラグを指定できます。また、SSL 証明書を使用するための mysqli フラグがあります。

$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

于 2009-10-02T16:08:46.813 に答える
0

ConnectメソッドとclientFlagsプロパティを備えたものが好きです。

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

それらのどちらかが機能します。

于 2011-01-18T15:30:12.123 に答える