မျက်မှောက်ခေတ်ကွန်ယက်လျှောက်လွှာများတွင်လုံခြုံစိတ်ချရသောဆက်သွယ်ရေးသည်အထူးအရေးကြီးသည်။ Seek Socket functions interface ကို PHP သည် Socket Functions နှင့် TLS / SSL encryption protocols များကိုပေါင်းစပ်ထားပြီးလုံခြုံစိတ်ချရသောစာဝှက်ထားသောဆက်သွယ်ရေးအတွက် tls / ssl encryption protocols များကိုပေါင်းစပ်ထားသည်။ TLS / SSL နှင့်လုံခြုံသောဆက်သွယ်မှုများကိုအောင်မြင်ရန် PHP ၏ Societ_Accept_Accept_Acception () function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးသည်ဤဆောင်းပါးသည်အာရုံစိုက်မည်။
Socket_Accept () - ဤသည်မှာ PHP တွင် Socket Programming ၏အရေးကြီးသော function တစ်ခုဖြစ်သည်။
TLS / SSL : သယ်ယူပို့ဆောင်ရေးအလွှာလုံခြုံရေး, ဆက်သွယ်ရေးအကြောင်းအရာကိုစာဝှက်ရန်နှင့်ဒေတာထုတ်လွှင့်မှု၏လုံခြုံရေးကိုသေချာစေရန်အသုံးပြုသည်။
ဆာဗာဘက်တွင် Socketets များကိုများသောအားဖြင့်ဖန်တီးလေ့ရှိပြီး binding address များနှင့် ports များသည် connection တောင်းဆိုမှုများအတွက်နားထောင်ရန်ဖြစ်သည်။ client တောင်းဆိုမှု, call societ_accept_Accept () ကိုလက်ခံပြီးနောက် connection ကိုလက်ခံရန်နှင့်အချက်အလက်များကိုဖတ်ရှုခြင်းသို့မဟုတ်စာဖြင့်ရေးသားနိုင်သည်။
$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($server, '0.0.0.0', 4433);
socket_listen($server);
$client = socket_accept($server);
$data = socket_read($client, 2048);
socket_write($client, "Hello Client!");
socket_close($client);
socket_close($server);
အထက်ပါဥပမာကုဒ်သည်ရိုးရှင်းသောစာဝှက်မထားသောဆက်သွယ်ရေးဖြစ်သည်။
PHP ၏ကိုယ်ပိုင် socket_ * function သည် SSL / TLS ကိုတိုက်ရိုက်မထောက်ပံ့ပါ။
client နှင့်ချိတ်ဆက်ထားသော Socket Reabor ကိုလက်ခံပြီးနောက် encryption ကို enable လုပ်ရန် stream_socket_enable_crypto () ကိုသုံးပါ။
// ဖန်တီးTCP socket
$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($server, '0.0.0.0', 4433);
socket_listen($server);
// client ဆက်သွယ်မှုကိုလက်ခံပါ
$clientSocket = socket_accept($server);
if ($clientSocket === false) {
die("Failed to accept socket connection\n");
}
// သေတမ်းစာ socket အရင်းအမြစ်များကိုအသွင်ပြောင်း stream ပစ္စည်းအင်းအား,အသုံးပြုရန်လွယ်ကူသည် stream_socket_enable_crypto()
$clientStream = socket_export_stream($clientSocket);
if ($clientStream === false) {
die("Failed to convert socket to stream\n");
}
// တည်ဆောက်သည် SSL အစီအစဉ်,လက်မှတ်နှင့်ပုဂ္ဂလိကသော့ပါရှိသည်
$contextOptions = [
'ssl' => [
'local_cert' => '/path/to/certificate.pem', // ဆာဗာလက်မှတ်ဖိုင်
'local_pk' => '/path/to/private_key.pem', // ပုဂ္ဂလိကသော့ဖိုင်
'allow_self_signed' => true,
'verify_peer' => false,
]
];
$context = stream_context_create($contextOptions);
// စတင်တည်ထောင်သည် TLS စာဝှက်ပယ်
if (!stream_socket_enable_crypto($clientStream, true, STREAM_CRYPTO_METHOD_TLS_SERVER, $context)) {
die("Failed to enable TLS encryption\n");
}
// client data ကိုဖတ်ပါ
$data = fread($clientStream, 2048);
echo "Received (decrypted): " . $data . "\n";
// 向客户端发送စာဝှက်ပယ်数据
fwrite($clientStream, "Welcome to secure PHP server!");
// ဆက်သွယ်မှုကိုပိတ်ပါ
fclose($clientStream);
socket_close($server);
Certificate Preventation : local_cert နှင့် local_pk ဖိုင်များသည်တရားဝင်လက်မှတ်များနှင့်ပုဂ္ဂလိကသော့များဖြစ်ရမည်။
Socket_export_stream () - Low-level societ အရင်းအမြစ်ကို streaming လုပ်ခြင်းဖြင့်လည်ပတ်နိုင်သည့်အရင်းအမြစ်တစ်ခုသို့ပြောင်းပါ, ထို့နောက် stream_socket_enable_crypto () ကို သုံးနိုင်သည်။
အမှားကိုင်တွယ်ခြင်း - ထုတ်လုပ်မှုပတ်ဝန်းကျင်သည်အမှားဖမ်းယူခြင်းနှင့်သစ်ထုတ်လုပ်ခြင်းတွင်အလုပ်ကောင်းကောင်းလုပ်သင့်သည်။
Secure Chat Service - 0 န်ဆောင်မှုခံယူသူနှင့်ဆာဗာအကြားဆက်သွယ်ရေးအကြောင်းအရာများသည်အချက်အလက်များကိုခိုးနားထောင်ခြင်းသို့မဟုတ်အနှောင့်အယှက်ပေးခြင်းမှကာကွယ်ရန်စာဝှက်ရန်လိုအပ်သည်။
ကိုယ်ရေးကိုယ်တာအချက်အလက်ထုတ်လွှင့်ခြင်း - Enterprise Internal 0 န်ဆောင်မှုများသည်အထိခိုက်မခံသောဒေတာထုတ်လွှင့်မှုအတွက်စာဝှက်စနစ်လိုအပ်သည်။
စိတ်ကြိုက် protocol လုံခြုံရေးအဆင့်မြှင့်တင်မှု - Socket ကို အခြေခံ. စိတ်ကြိုက် protocol ကိုလုံခြုံရေးတိုးတက်စေရန် TLS မှတဆင့်အကောင်အထည်ဖော်နိုင်သည်။
PHP Socket_accept_Accept_Accept_Accept_Acable_crypto () ကို Opensssl မှတိုးချဲ့ထားသည့် Stream_sockable_crypto () ကိုလက်ခံရရှိပြီးနောက် TLS / SSL အပေါ် အခြေခံ. လုံခြုံစွာစာဝှက်ထားသောဆက်သွယ်ရေးဆက်သွယ်ရေးကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ၎င်းသည်အစပြုသူများအတွက်ခက်ခဲသည်နှင့်တပြိုင်နက်ကျွမ်းကျင်သည်မှာ၎င်းသည်ကွန်ယက်အက်ပလီကေးရှင်းများ၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။