使用PHP通过SSL连接到MySQL

时间:2011-06-28 19:23:17

标签: php mysql ssl

我正在编写我的第一个脚本,它将通过SSL连接到MySQL数据库。我一直在做很多关于这个主题的阅读,并且遇到了很多关于如何设置它的选项;一些适用于我的情况,一些不适用于我的情况。这是我的情况:

MySQL服务器与脚本在同一台机器上。我的SSL证书已安装。通过使用SSL并使用以下代码的页面简单地连接到数据库是否安全?

Connecting via https://www.mysitehere.com/myscript.php

$con = mysql_connect("localhost", "username", "password", MYSQL_CLIENT_SSL);
if (!$con) {die('Could not connect: ' . mysql_error());}
mysql_select_db("my_database", $con);

1 个答案:

答案 0 :(得分:1)

  

MySQL服务器与脚本在同一台机器上。我的SSL   证书已安装。简单地连接到它是否安全   数据库通过使用SSL的页面使用以下代码?

如果你控制服务器(VPS)并且PHP与MySQL在同一台机器上(只需要允许来自同一台机器的连接),那么对MySQL使用SSL毫无意义,只会产生开销。您应该只使用防火墙来保护MySQL like you should also do with memcached

否则你可以阅读this section from MySQL to configure SSL。我认为涉及的不仅仅是$con = mysql_connect("localhost", "username", "password", MYSQL_CLIENT_SSL); 。例如,您需要配置SSL Certificate

mysqld --ssl-ca=ca-cert.pem \
       --ssl-cert=server-cert.pem \
       --ssl-key=server-key.pem