在PHP服务器和数据库服务器中使用PDO连接的话是明文传输的,如果在网络监听的话会有数据泄漏的风险。
在正式生产环境应当使用自签名SSL证书连接。
MariaDB数据库服务器配置见:《MariaDB MySQL 使用自签名SSL连接》
记录下PHP的PDO连接:
<?php
try {
$options = array(
PDO::MYSQL_ATTR_SSL_KEY => '/data/www/test/certs/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/data/www/test/certs/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => '/data/www/test/certs/ca-cert.pem',
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
);
$dbh = new PDO('mysql:host=127.0.0.1;dbname=db', 'user', 'pass', $options);
foreach($dbh->query('SELECT * from test') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
文章评论