Herstellen einer Verbindung zu einem Remote-MySQL-Server mit SSL von PHP aus
Die gestellte Frage betrifft den Aufbau einer sicheren Verbindung zu einem Remote-MySQL-Server mithilfe von SSL von PHP. Das ursprüngliche Code-Snippet, das mysql_connect verwendet, führt zu einem „SSL-Verbindungsfehler“.
Das Problem verstehen
Bedenken Sie Folgendes, um der Grundursache auf den Grund zu gehen:
Um die Sicherheit zu optimieren, sollten MySQL-Konfigurationen Folgendes enthalten:
[Client]
Sichere Kommunikation kann auch über konfiguriert werden PHP:
MySQLi-Lösung
An Um SSL-Verbindungen mit MySQLi zu ermöglichen, nutzen Sie Folgendes Code:
$db = mysqli_init(); mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true); $db->ssl_set('/etc/mysql/ssl/client-key.pem', '/etc/mysql/ssl/client-cert.pem', '/etc/mysql/ssl/ca-cert.pem', NULL, NULL); $link = mysqli_real_connect ($db, 'ip', 'user', 'pass', 'db', 3306, NULL, MYSQLI_CLIENT_SSL);
PDO_MYSQL-Lösung
Wenn die Einhaltung von PDO_MYSQL unerlässlich ist, verwenden Sie diesen Ansatz:
$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' ) );
Vorsicht
Beachten Sie, dass die SSL-Unterstützung für PDO in früheren PHP-Versionen eingeschränkt ist 5.3.8. Für eine optimale Funktionalität sollten Sie ein Upgrade auf eine neuere PHP-Version in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonWie kann ich über SSL von PHP aus eine sichere Verbindung zu einem Remote-MySQL-Server herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!