ssl_set
تابع ssl_set برای ساختن اتصال امن SSL استفاده می شود. «SSL» یعنی کانال رمزگذاری شده بین برنامه و دیتابیس. بنابراین، داده ها وسط راه خوانده نمی شوند.
تعریف کوتاه و زمان استفاده
طبق منبع، ssl_set() یا mysqli_ssl_set() فقط تنظیمات SSL را می چیند. این تابع تا وقتی OpenSSL فعال نباشد کاری نمی کند. همچنین باید قبل از real_connect فراخوانی شود.
نحو (Syntax)
شیءگرا: $mysqli->ssl_set(key, cert, ca, capath, cipher). رویه ای: mysqli_ssl_set(connection, key, cert, ca, capath, cipher). همه مسیرها معمولاً فایل های PEM هستند.
نمونه کد شیءگرا با اتصال امن SSL
<?php
$mysqli = mysqli_init();
if (!$mysqli) {
die("mysqli_init failed");
}
$mysqli->ssl_set("key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!$mysqli->real_connect("localhost", "my_user", "my_password", "my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
$mysqli->close();
?>
نمونه کد رویه ای با اتصال امن SSL
<?php
$con = mysqli_init();
if (!$con) {
die("mysqli_init failed");
}
mysqli_ssl_set($con, "key.pem", "cert.pem", "cacert.pem", NULL, NULL);
if (!mysqli_real_connect($con, "localhost", "my_user", "my_password", "my_db")) {
die("Connect Error: " . mysqli_connect_error());
}
mysqli_close($con);
?>
گام های عملی برای اتصال امن SSL
- با mysqli_init شروع کن.
- فایل های کلید و گواهی را در ssl_set بده.
- حالا با real_connect وصل شو.
- پس از کار، اتصال را ببند.
نکته: اگر تنظیمات SSL اشتباه باشند، اتصال در real_connect() خطا می دهد؛ خود ssl_set() همیشه TRUE برمی گرداند.
هشدار: مسیر فایل های PEM را درست بده. همچنین روی سرور، دسترسی فایل ها امن باشد.
جمع بندی سریع
- ssl_set فقط تنظیم SSL را انجام می دهد.
- حتماً قبل از
real_connectفراخوانی شود. - برای رمزنگاری، فایل های PEM لازم است.
- اتصال امن SSL از شنود جلوگیری می کند.