> 데이터 베이스 > MySQL 튜토리얼 > PHP에서 SSL을 사용하여 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?

PHP에서 SSL을 사용하여 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-19 21:39:03
원래의
355명이 탐색했습니다.

How to Securely Connect to a Remote MySQL Server Using SSL in PHP?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿