လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> SSL_Set function ကို အသုံးပြု. SSL ကိုချိန်ညှိပြီးနောက် Non-encrypt လုပ်ထားသည့်အနေဖြင့် Non-encrypt လုပ်ထားပါသလား။ ဖြစ်နိုင်ချေရှိသောအကြောင်းပြချက်များမှာအဘယ်နည်း။

SSL_Set function ကို အသုံးပြု. SSL ကိုချိန်ညှိပြီးနောက် Non-encrypt လုပ်ထားသည့်အနေဖြင့် Non-encrypt လုပ်ထားပါသလား။ ဖြစ်နိုင်ချေရှိသောအကြောင်းပြချက်များမှာအဘယ်နည်း။

M66 2025-06-23

1 ။ SSL_SET () ၏အမိန့်သည်မမှန်ကန်ပါ

MySQLI :: SSL_SET () function ကို MySQLI :: Real_Connect () ကို မခေါ်မီခေါ်ယူရမည်ဟုခေါ်ရမည်။ သို့မဟုတ်ပါကချိန်ညှိချက်များသည်အကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ။ မှားယွင်းသောခေါ်ဆိုမှုမှာမှားယွင်းသောကြီးကြပ်မှုတစ်ခုဖြစ်သည်။

အမှားဥပမာ -

$conn = new mysqli(); $conn->real_connect('db.m66.net', 'user', 'pass', 'database'); $conn->ssl_set('/path/client-key.pem', '/path/client-cert.pem', '/path/ca.pem', NULL, NULL);

မှန်ကန်သောဥပမာ -

$conn = new mysqli(); $conn->ssl_set('/path/client-key.pem', '/path/client-cert.pem', '/path/ca.pem', NULL, NULL); $conn->real_connect('db.m66.net', 'user', 'pass', 'database');

2 ။ MySQLI_CLITID_SSL အလံကိုမဖွင့်ပါ

Real_Connect () connection () connection ကိုသုံးသောအခါ MySQLI_CLIEN_SSL Flag ကိုမဖွင့်ပါက SSL_set () ဟုခေါ်သော်ပင်လျှင် Connection သည် SSL ကိုဖွင့ ်. မရပါ။

$conn->real_connect('db.m66.net', 'user', 'pass', 'database', null, null, MYSQLI_CLIENT_SSL);

3 ။ 0 န်ဆောင်မှုခံယူသူအားဖွင့်ထားသည့် openssll အထောက်အပံ့ကိုဖွင့်ထားမည်မဟုတ်ပါ

PHP သည် Opensslls extension များကိုဖွင့်ထားသလားဆိုတာကိုကြည့်ဖို့အရေးကြီးတယ်။ PHPP -m ကို အကောင်အထည်ဖော်ခြင်းဖြင့်သင်အတည်ပြုနိုင်သည် Phpinfo () သို့မဟုတ် command line မှတဆင့် Grep Openssllll ။ မဖွင့်ပါက PHP သည် SSL encrypted connection တစ်ခုတည်ဆောက်ရန်မဖြစ်နိုင်ပါ။

4 ။ SSL ကို MySQL server ပေါ်တွင်ဖွင့်ထားသည့်သို့မဟုတ်အပြည့်အဝ configured မပေးပါ

ဆာဗာသည် SSL ကိုဖွင့်ပြီးတရားဝင်လက်မှတ်များနှင့်ဖိုင်ဖိုင်များကိုလည်းပေးရမည်။ အောက်ပါ SQL ကြေငြာချက်မှတဆင့်၎င်းကိုသင်အတည်ပြုနိုင်သည်။

SHOW VARIABLES LIKE '%ssl%';

ရလဒ်က Has_SSL ကို မသန်စွမ်းကြောင်း ပြသပါက SSL သည် 0 န်ဆောင်မှုခံယူသူ၏ဆက်တင်များမည်သို့ပင်ရှိပါစေ SSL သည်အကျိုးသက်ရောက်မှုမရှိပါ။

5 ။ SSL ကိုမထောက်ပံ့သောစာကြည့်တိုက်တစ်ခုသို့မဟုတ်ယာဉ်မောင်းကိုအသုံးပြုသည်

PHP သို့မဟုတ် LibmycliesQlien Connection LibrsqliesqliesqliesqliesqliesqliesqliesQlien connection libraries အချို့၏ဗားရှင်းများသည် SSL ကိုမထောက်ပံ့နိုင်ပါ။ MySQLND driver ကိုအသုံးပြုရန်အကြံပြုသည်။

6 ။ connection ကို encryption အတွက်ဖွင့်ထားကြောင်းစစ်ဆေးပါ

အရာအားလုံးကိုမှန်ကန်စွာ configure လုပ်ထားရင်တောင်ဆက်သွယ်မှုကိုဖွင့်ထားကြောင်းစစ်ဆေးရန်လိုအပ်သည်။ အမှန်တကယ် encryption status ကိုအောက်ပါဖော်ပြချက်မှတဆင့်ကြည့်ရှုနိုင်သည်။

$result = $conn->query("SHOW STATUS LIKE 'Ssl_cipher'"); $row = $result->fetch_assoc(); if (!empty($row['Value'])) { echo "SSL 启用,加密算法为: " . $row['Value']; } else { echo "SSL 未启用"; }

ပြန်လာပြီဆိုလျှင် SSL ကိုအမှန်တကယ်ဖွင့်ထားမည်မဟုတ်ပါ။

7 ။ ဒိုမိန်းအမည်သို့မဟုတ် IP address ကြောင့်ဖြစ်ရတဲ့သွယ်ဝိုက်ပြန်လာ

အချို့သောပတ်ဝန်းကျင်တွင် localhost ကို အသုံးပြုပါကဆက်သွယ်မှုသည် Unix Socket သို့ပြန်သွားနိုင်ပြီးကွန်ယက်အလွှာ SSL ကိုကျော်လွှားနိုင်သည်။ ဥပမာအားဖြင့်ရှင်းလင်းသောအိမ်ရှင်အမည်သို့မဟုတ်အိုင်ပီလိပ်စာကိုအသုံးပြုရန်အကြံပြုသည်။

$conn->real_connect('db.m66.net', 'user', 'pass', 'database');