2012-02-04 11 views
7

Ho un certificato CA del database mysql a cui sto tentando di connettermi (è su Amazon rds). Non riesco a trovare un buon esempio di come connettermi al database mysql usando la funzione mysql_connect() di php e di usare quel certificato ca (memorizzato in /home/username/mysql_ca_cert.pem) per connetterti.Come utilizzare l'impostazione MYSQL_CLIENT_SSL con mysql_connect() in PHP?

Qualcuno potrebbe aiutarmi con un semplice esempio?

+1

vorrei consigliare contro l'uso del mysql_ * funzioni, uso mysqli o DOP, invece. – GordonM

+0

@GordonM, cosa c'è di sbagliato nelle funzioni mysql_ *? – eric

+0

Sono mal datati, non sono stati aggiornati per sfruttare le funzionalità offerte da mysql 5 e sono deprecati in tutto tranne il nome. – GordonM

risposta

0

Ciò connettersi utilizzando SSL server cert il 2048 è la chiave

$link=mysql_connect(host, user, password,true,2048); 
+2

'2048' =' MYSQL_CLIENT_SSL'? – Shoe

+1

@Mark Allen, come posso collegarlo con il mio file cs ssl che si trova in /home/nomeutente/mysql_ca_cert.pem? – eric

+0

Dai un'occhiata all'ultimo messaggio. http://stackoverflow.com/questions/1778977/encrypting-mysql-traffic-in-scripts –

-1
$db = mysqlii_init(); 
$db->ssl_set('server-key.pem','server-cert.pem', 'cacert.pem', NULL, NULL); 
$db->real_connect('localhost','root','','mydb'); 

e poi, naturalmente,

$db->close(); 

sperare che sia utile :)

1

mysql_connect() è ammortizzato e altamente hackerabile. Per usarlo è il massimo in folle

<?php 
$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(
    PDO::MYSQL_ATTR_SSL_KEY =>'/etc/mysql/ssl/client-key.pem', 
    PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysql/ssl/client-cert.pem', 
    PDO::MYSQL_ATTR_SSL_CA =>'/etc/mysql/ssl/ca-cert.pem' 
    ) 
); 
$statement = $pdo->query("SHOW TABLES;"); 
$row = $statement->fetch(PDO::FETCH_ASSOC); 
echo htmlentities($row['_message']); 
?> 

http://www.php.net/manual/en/book.pdo.php

Problemi correlati