2011-06-28 3 views
3

J'écris mon premier script qui va se connecter via SSL à une base de données MySQL. J'ai beaucoup lu sur le sujet et j'ai trouvé de nombreuses options sur la façon de le mettre en place; certains qui s'appliquent à ma situation et d'autres non. Voici ma situation:Connexion à MySQL via SSL en utilisant PHP

Le serveur MySQL est sur la même machine que le script. Mon certificat SSL est installé. Est-il sécurisé de simplement se connecter à la base de données via une page qui utilise SSL avec le code suivant?

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

Je peux voir la nécessité d'une connexion à distance, mais pourquoi auriez-vous besoin SSL pour un * * un local? Ne préféreriez-vous pas vous connecter via une prise? Pas sûr que je comprenne. –

+0

oh, donc je dis que je n'ai pas besoin de MYSQL_CLIENT_SSL – Mark

+2

Il n'y a (généralement) pas beaucoup de raisons d'utiliser SSL si votre serveur est sur la même machine que votre client - ce n'est pas comme si votre trafic passait par un endroit non sécurisé lien, et il va ajouter un surcoût de calcul. –

Répondre

1

Le serveur MySQL est sur la même machine que le script. Mon SSL Le certificat est installé. Est-il sécurisé de se connecter simplement à la base de données via une page qui utilise SSL avec le code suivant?

Si vous contrôlez le serveur (VPS) et PHP est sur la même machine que MySQL (seulement besoin d'autoriser les connexions de même machine) que il est inutile d'utiliser SSL pour MySQL et n'entraînera des frais généraux. Vous devriez juste utiliser le pare-feu pour protéger MySQL like you should also do with memcached. En revanche, vous pouvez lire this section from MySQL to configure SSL. Je pense implique un peu plus que juste $con = mysql_connect("localhost", "username", "password", MYSQL_CLIENT_SSL); . Par exemple, vous devez configurer votre SSL Certificate:

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