လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> SSL လုံခြုံစိတ်ချရသော connection များကိုဝေးလံသောဒေတာဘေ့စ်များနှင့်ချိတ်ဆက်ရန် Connect () ကိုသုံးပါ

SSL လုံခြုံစိတ်ချရသော connection များကိုဝေးလံသောဒေတာဘေ့စ်များနှင့်ချိတ်ဆက်ရန် Connect () ကိုသုံးပါ

M66 2025-05-25

PHP တွင်ဝေးလံခေါင်ဖျားသောဒေတာဘေ့စ်များနှင့်ချိတ်ဆက်သောအခါလုံခြုံရေးသည်အလွန်အရေးကြီးသောထောက်ထားစာနာမှုတစ်ခုဖြစ်သည်။ အထူးသဖြင့်ဒေတာဘေ့စ်ဆာဗာများနှင့်အက်ပလီကေးရှင်းများကိုကွန်ယက်ပတ်ဝန်းကျင်တွင်ဖြန့်ဝေသောအခါ SSL encrypted connection များကိုအသုံးပြုခြင်းသည်အချက်အလက်များကိုအခိုးခံရစဉ်အတွင်းသိမ်းဆည်းခြင်းမှကာကွယ်ရန်တားဆီးနိုင်သည်။

ဤဆောင်းပါးသည် PHP ၏ MySQLI_Connect () function ကိုမည်သို့အသုံးပြုရမည်နည်း () function ကိုအသုံးပြုနည်း (ဆိုလိုသည်မှာ Connection () function) ကို အသုံးပြု. SPLCESS CONCESS ကိုအကောင်အထည်ဖော်ရန်နှင့်ဥပမာကုဒ်များတွင် URL domain name အားလုံးကို M66.net နှင့်အစားထိုးနိုင်သည်။


1 ။ SSL ဆက်သွယ်မှုဆိုတာဘာလဲ။

SSL (Secure Sockets Layer) သည် Clients နှင့်ဆာဗာများအကြားအချက်အလက်များကိုထုတ်လွှင့်ခြင်း, MySQL သည် SSL encryption ကိုထောက်ပံ့သည်။ PHP ၏ MySQLI extension သည်ဆက်စပ်သော parameterster များမှတဆင့် SSL ဆက်သွယ်မှုများကိုလည်းအကောင်အထည်ဖော်နိုင်သည်။

2 ။ SSL ဆက်သွယ်မှုကိုအကောင်အထည်ဖော်ရန် MySQLI_Connect () ကိုသုံးပါ

MySQLI_Connect () PHP တွင် function ကိုအဓိကအားဖြင့် MySQL ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုကိုတည်ဆောက်ရန်အဓိကအသုံးပြုသည်။ SSL ကိုဖွင့်ရန်, နောက်ထပ်လက်မှတ်လမ်းကြောင်းများနှင့်ဆက်စပ်သောရွေးချယ်စရာများလိုအပ်သည်။

နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$host = 'Remote ဒေတာဘေ့စ်ဆာဗာလိပ်စာ';  // ဥပမာအားဖြင့်:db.m66.net
$username = 'ဒေတာဘေ့စ်အသုံးပြုသူအမည်';
$password = 'ဒေတာဘေ့စ်စကားဝှက်';
$dbname = 'ဒေတာဘေ့စ်အမည်';
$port = 3306;

// SSL လက်မှတ်ဖိုင်လမ်းကြောင်း(များသောအားဖြင့်ဒေတာဘေ့စ်အုပ်ချုပ်ရေးမှူးမှပေးသည်)
$ssl_key = '/path/to/client-key.pem';
$ssl_cert = '/path/to/client-cert.pem';
$ssl_ca = '/path/to/ca-cert.pem';

// ဖြစ်ပေါ်လာခြင်း mysqli ကန့်ကွက်
$mysqli = mysqli_init();

// တည်ဆောက်သည် SSL ဆက်စပ် parameters တွေကို
mysqli_ssl_set($mysqli, $ssl_key, $ssl_cert, $ssl_ca, NULL, NULL);

// တည်ထောင် SSL ဆက်
if (!$mysqli->real_connect($host, $username, $password, $dbname, $port, NULL, MYSQLI_CLIENT_SSL)) {
    die('ဆက်失败:' . mysqli_connect_error());
}

echo "အောင်မြင်စွာလွန် SSL ဆက်到数据库!";

// 关闭ဆက်
$mysqli->close();
?>

သတိပြုရန်:

  • ကျေးဇူးပြု. အမှန်တကယ်ပတ်ဝန်းကျင်နှင့်အညီလက်မှတ်လမ်းကြောင်းကိုဖြည့်ပါ။

  • ဝေးလံခေါင်သီသော server ကို enable လုပ်ပြီး SSL ကိုထောက်ပံ့ရမည်။

  • MySQLI_CLIEN_SSL parameter သည် SSL ဆက်သွယ်မှုများကိုခွင့်ပြုသည်။

3 ။ URL domain name အစားထိုးဥပမာ

အစီအစဉ်ရှိဒေတာဘေ့စ်များသို့မဟုတ် interfaces များသို့ URL 0 င်ရောက်ခြင်းကို URL 0 င်ရောက်နိုင်ခြင်းနှင့်ပတ်သက်သောအခြေအနေများရှိသည်ဆိုပါစို့။

 $url = "https://api.m66.net/data?query=example";

Access address သည်စည်းလုံးညီညွတ်မှုရှိစေရန် Secure Domain Name မူဝါဒကိုလိုက်နာရန်အတွက်အထက်ပါဥပမာကို M66.net ဖြင့် Domain Name တွင် domain namet ကိုအစားထိုးပါ။

4 ။ မကြာခဏမေးခွန်းများမေးသောမေးခွန်းများနှင့် debugging အကြံပြုချက်များ

  • ဆက်သွယ်မှုမအောင်မြင်ပါ ။ ဆာဗာသည် SSL enabled နှင့် client certificate, key နှင့် CA လက်မှတ်လမ်းကြောင်းများမှန်ကန်ကြောင်းသေချာအောင်လုပ်ပါ။

  • Certificate error : လက်မှတ်ပုံစံသည် POM POM ဖြစ်ရမည်။

  • Port Blocking : ဝေးလံခေါင်သီသောဒေတာဘေ့စ်ဆိပ်ကမ်း (Default 3306) ကို firewall မှပိတ်ဆို့ထားခြင်းမရှိပါ။

  • PHP ပတ်ဝန်းကျင်အထောက်အပံ့များ - PHP သည် MySQLI နှင့် Openssll Extensions ကိုဖွင့်ထားကြောင်းအတည်ပြုပါ။