PHP에서 SSL을 사용하여 원격 MySQL 서버에 연결
PHP에서 SSL을 사용하여 원격 MySQL 서버에 연결하는 것은 어려울 수 있습니다. 특히 오래된 mysql_connect 함수. 이 문제를 극복하려면 향상된 기능과 SSL 지원을 제공하는 MySQL Improved Extension(MySQLi)을 활용하는 것이 좋습니다.
MySQLi 사용
다음 PHP 코드는 다음을 보여줍니다. 다음을 사용하여 SSL 암호화 연결을 설정하는 방법 MySQLi:
ini_set('error_reporting', E_ALL); ini_set('display_errors', '1'); error_reporting(E_ALL|E_STRICT); $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); if (!$link) { die('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "\n"); } else { $res = $db->query('SHOW TABLES;'); print_r($res); $db->close(); }
PDO_MYSQL SSL 지원
SSL과 함께 PDO_MYSQL을 사용하려면 SSL을 지원하는 최신 PHP 버전이 필요합니다. 5.3.8 이전 버전의 경우 SSL 옵션이 무시됩니다. 그러나 다음 코드 샘플은 PDO_MYSQL을 사용한 SSL 구성을 보여줍니다.
$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']);
이러한 단계를 수행하고 제공된 코드를 특정 환경에 적용하면 SSL을 사용하여 원격 MySQL 서버에 대한 보안 연결을 성공적으로 설정할 수 있습니다. PHP.
위 내용은 PHP에서 SSL을 사용하여 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!