Web Development လုပ်သည့်အခါ SSL / TLS encrypted connection များသည်ဒေတာများကိုလုံခြုံသောထုတ်လွှင့်မှုကိုသေချာစေရန်အရေးကြီးသောကဏ် entge တစ်ခုဖြစ်သည်။ PHP ကိုအသုံးပြုသောအခါ stream_context_et_et_options function သည် developer များ SSL / TLS ဆက်သွယ်မှုများကိုအထူးသဖြင့်စာဝှက်ခြင်းနှင့်အခြားရွေးချယ်စရာများကိုဆန်းစစ်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် SSL / TLS settings တွင် encryption algorithms နှင့် options များကိုခွဲခြမ်းစိတ်ဖြာရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
Steam_context_et_et_options သည် PHP တွင်ပါ 0 င်သော functions ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် SSL / TLS ဆက်သွယ်မှုဆက်တင်များစသည်တို့အပါအ 0 င် encryption algorithms အပါအ 0 င်ဆက်စပ်မှုရှိသောအပေါင်းအသင်းများပါ 0 င်သည် ။
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'verify_peer_name' => true,
'allow_self_signed' => false,
'ciphers' => 'TLSv1.2',
],
]);
$options = stream_context_get_options($context);
print_r($options);
အပေါ်ကဥပမာမှာ SSL stream ကိုဖွင့်ပြီးသက်ဆိုင်ရာ SSL options တွေကိုသတ်မှတ်ထားတယ်။ SSL settings အားလုံးကိုလက်ရှိအခြေအနေတွင်ကြည့်ရှုရန် Stream_context_et_ettions များကို သုံးပါ။
SSL / TLS settings ရှိ encryption algorithms နှင့် options များကိုခွဲခြမ်းစိတ်ဖြာရန် SSL / TLS settings ၏ stream_context_create မှတဆင့် SSL Stream ၏အခြေအနေကို set up လုပ်ရန်နှင့်ဤဆက်တင်များကို stream_context_get_options များမှတဆင့်သတ်မှတ်ပြီးဤချိန်ညှိချက်များကို stream_context_get_options များ ဖြင့်သတ်မှတ်ရန်လိုအပ်သည်။ ဤတွင်မည်သို့ပြုလုပ်ရမည်ကိုတိကျသောအဆင့်များဖြစ်သည်။
SSL settings များပါ 0 င်သည့်အခြေအနေကိုဖန်တီးရန် Stream_context_Create function ကိုသုံးပါ။ ဤအခြေအနေတွင်ကျွန်ုပ်တို့သည် SSL နှင့်သက်ဆိုင်သောရွေးချယ်စရာများ စွာ (encryption algorithm အသုံးပြုသော) နှင့်အခြား SSL / TLS parameters များကိုသတ်မှတ်နိုင်သည်။
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'verify_peer_name' => true,
'allow_self_signed' => false,
'ciphers' => 'TLSv1.2', // encryption algorithm ကိုသတ်မှတ်ပါTLS 1.2
],
]);
ထို့နောက် SSL / TLS Options ကိုရယူရန် stream_context_get_options ကို သုံးပါ။ ဤသည် options အားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်ပေးလိမ့်မည်။
$options = stream_context_get_options($context);
print_r($options);
output သည်အောက်ပါနှင့်ဆင်တူလိမ့်မည်။
Array
(
[ssl] => Array
(
[verify_peer] => 1
[verify_peer_name] => 1
[allow_self_signed] =>
[ciphers] => TLSv1.2
)
)
ဒီခင်းကျင်းမှုမှာ SSL-Related settings အားလုံးကို SSL key အောက်မှာထည့်သွင်းထားတယ်။ ဒီ output ကိုမှတစ်ဆင့် ciphers option ကို tlsv1.2 ကိုသတ်မှတ်ထားကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။
Option Array ကိုပြန်ပို့ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် encryption algorithm ကိုခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ ဥပမာအားဖြင့်, ciphers option ကိုသတ်မှတ်ထားပါကပြန်လည်ရောက်ရှိသောခင်းကျင်းမှုတွင်ဤတန်ဖိုးကိုပါ 0 င်မည်ဖြစ်သည်။ ကွဲပြားခြားနားသော encryption algorithm သို့မဟုတ် protocol version ကိုရွေးချယ်ရန်လိုအပ်သောတန်ဖိုးကိုသင်ညှိနိုင်သည်။
$cipher = $options['ssl']['ciphers'];
echo "Selected cipher: " . $cipher;
ဤကုဒ်သည် tlsv1.2 ကဲ့သို့သောရွေးချယ်ထားသော encryption algorithm ကို output လုပ်လိမ့်မည်။
SSL / tls ဆက်သွယ်မှုများကိုသတ်သတ်မှတ်မှတ်ဆာဗာတစ်ခုသို့သင်ခွဲခြမ်းစိတ်ဖြာလိုပါက connection ကိုတည်ဆောက်ရန်နှင့်ဆက်စပ် settings ကိုရယူရန် stream_socket_clies ကို သုံးနိုင်သည်။ အောက်တွင်ပြထားတဲ့အတိုင်း: