Heim > Datenbank > MySQL-Tutorial > Wie kann ich über SSL von PHP aus eine sichere Verbindung zu einem Remote-MySQL-Server herstellen?

Wie kann ich über SSL von PHP aus eine sichere Verbindung zu einem Remote-MySQL-Server herstellen?

Barbara Streisand
Freigeben: 2024-11-19 18:43:03
Original
1113 Leute haben es durchsucht

How Can I Securely Connect to a Remote MySQL Server Using SSL from PHP?

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:

  • MySQLi (MySQL Improved Extension) bietet im Vergleich zum Vorgängermodell mysql_connect eine bessere Unterstützung für verschlüsselte Verbindungen Erweiterung.
  • Um die Sicherheit zu optimieren, sollten MySQL-Konfigurationen Folgendes enthalten:

    • [Client]

      • ssl-ca = /etc /mysql/ssl/ca-cert.pem
      • ssl-cert = /etc/mysql/ssl/client-cert.pem
      • ssl-key = /etc/mysql/ssl/client-key.pem
  • Sichere Kommunikation kann auch über konfiguriert werden PHP:

    • mssql.secure_connection = Ein in php.ini

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);
Nach dem Login kopieren

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'
    )
);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage