2011-06-28 25 views
3

私はSSL経由でMySQLデータベースに接続する私の最初のスクリプトを書いています。私はこのテーマについて多くの読書をしてきており、それを設定する方法について多くの選択肢が出てきました。私の状況に適用されるものとそうでないものがあります。ここに私の状況です:PHPを使用して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); 
+3

私は、リモート接続の必要性を見ることができますが、なぜあなたは*ローカル* 1のためにSSLが必要でしょうか?あなたはソケットを介して接続することはできませんか?わかりません。 –

+0

ああ、私はMYSQL_CLIENT_SSLは必要ないと言っています – Mark

+2

あなたのサーバーがクライアントと同じマシンにある場合、(一般的に)SSLを使用する理由はあまりありません。あなたのトラフィックが安全でない/信頼できないリンクを作成し、計算上のオーバーヘッドを追加します。 –

答えて

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 
関連する問題