PHP တွင် Parse_URL () function သည် URL ကြိုးများကိုပြုပြင်ရန်အတွက်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် ပရို တို ကော များ ,
ယနေ့, ဤနယ်ပယ်နှစ်ခုအသုံးပြုခြင်းနှင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သူတို့၏အရေးပါမှုကိုပြောဆိုကြပါစို့။ သင်ထင်သည်ထက်များစွာသာလွန်သည်။
URL ရှိအသုံးပြုသူသတင်းအချက်အလက်အပိုင်းသည်ယေဘုယျအားဖြင့် အသုံးပြုသူကဲ့သို့ပင်ပုံစံဖြင့်ဖြစ်သည်။ Pass @ domain ,
https://username:[email protected]/path?query=123
Parse_URL () ကို ဤ URL ကိုခွဲခြမ်းစိတ်ဖြာရန်ဖုန်းခေါ်ဆိုပါကသင်ရလိမ့်မည်။
$url = "https://username:[email protected]/path?query=123";
$parts = parse_url($url);
print_r($parts);
ထုတ်လုပ်မှု -
Array
(
[scheme] => https
[user] => username
[pass] => password
[host] => gitbox.net
[path] => /path
[query] => query=123
)
ဆိုလိုသည်မှာ အသုံးပြုသူ နှင့် Pass Fields သည် URL တွင်အသုံးပြုသူအမည်နှင့်စကားဝှက်အစိတ်အပိုင်းများနှင့်သက်ဆိုင်သည်။
အများဆုံးတိုက်ရိုက်ရည်ရွယ်ချက်မှာ URLs များအတွက် authentication ကိုသတင်းအချက်အလက်ပေးရန်ဖြစ်သည်။ HTTP အခြေခံ authentication (သို့) FTP ကဲ့သို့သော protocol များ၌ URL သည်အလိုအလျောက်ဝင်ရောက်ရန်သို့မဟုတ် authenticate လုပ်ရန် URL ကိုအသုံးပြုနိုင်သည်။
ဥပမာအားဖြင့်, အချို့သောပုဂ္ဂလိက git repositories များကိုရယူသည့်အခါ URL တွင်အသုံးပြုသူအထောက်အထားများပါဝင်နိုင်သည်။
$repoUrl = "https://myuser:[email protected]/myrepo.git";
အလိုအလျောက် script များသို့မဟုတ် ci / CD ဖြစ်စဉ်များတွင် အသုံးပြုသူ နှင့် pass ကို ခွဲထုတ်ပြီးနောက်၎င်းကို authentication ၏တောင်းဆိုမှုခေါင်းစီးများကိုထုတ်လုပ်ရန်သို့မဟုတ် authentication လုပ်ငန်းစဉ်ကိုရိုးရှင်းစေရန် API သို့သွားရန်အသုံးပြုနိုင်သည်။
သတင်းအချက်အလက်များကို Parse_Url မှတစ်ဆင့်ဤအပိုင်းကိုထုတ်ယူပြီးနောက်ပရိုဂရမ်သည် Hard-coded အသုံးပြုသူအမည်များနှင့်စကားဝှက်များထက်မတူညီသောအသုံးပြုသူအထောက်အထားများအတွက်ဝင်ရောက်ခွင့်တောင်းဆိုမှုများကိုပိုမိုကိုင်တွယ်နိုင်သည်။
ဥပမာအားဖြင့်:
$url = "https://myuser:[email protected]/resource";
$parts = parse_url($url);
$username = $parts['user'] ?? '';
$password = $parts['pass'] ?? '';
$host = $parts['host'];
// authentication header နှင့်အတူတောင်းဆိုမှုကို generate
$auth = base64_encode("$username:$password");
$headers = [
"Authorization: Basic $auth"
];
// ထို့နောက်အသုံးပြုပါ curl တောင်းဆိုမှုကိုလုပ်ပါ
ဤနည်းအားဖြင့် Code Logic သည် URL မှစစ်မှန်ကြောင်းဖွင့်ထားသည့်သတင်းအချက်အလက်များကို dynamically false partse parnicatically false လုပ်နိုင်ပြီးမတူညီသောသုံးစွဲသူများနှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်နိုင်သည်။
User နှင့် Pass Fields သည်အဆင်ပြေသော်လည်း URL သို့အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုအရေးအကြီးဆုံးမှာလုံခြုံရေးအန္တရာယ်များရှိသည်။
URL သည် logged လုပ်နိုင်သည်, အသုံးပြုသူအမည်နှင့်လျှို့ဝှက်နံပါတ်ယိုစိမ့်မှုကိုရရှိနိုင်သည်။
browser (သို့) proxy သည်အထောက်အထားများပါ 0 င်သော URLs များကို cache လုပ်နိုင်ပါတယ်။
အချို့သော tools များသည် USSERCAME နှင့် Password ဖြင့် URLs များကိုမပံ့ပိုးပါ။
ထို့ကြောင့်၎င်းကိုအကြံပြုသည်။
အများပြည်သူအတွက်အထောက်အထားများပါ 0 င်သော URL များကိုတိုက်ရိုက်မဖော်ထုတ်ပါနှင့်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်ပိုမိုလုံခြုံသော authentication နည်းလမ်းများ (Oauth, Token စသည်ဖြင့်) ကိုသုံးပါ။
အသုံးပြုသူကိုသုံးပြီး ယုံကြည်စိတ်ချရသောပတ် 0 န်းကျင်များတွင်သာ ကူးပါ ။
Parse_Url () တွင် အသုံးပြုသူ နှင့် Pass Fields သည် URL အသုံးပြုသူအချက်အလက်များ၏တိုက်ရိုက်ပုံဖော်ခြင်းဖြစ်ပြီး Authentication လိုအပ်သည့် URLs များနှင့်ဆက်ဆံရာတွင်အလွန်အရေးကြီးသည်။ သူတို့ကိုနားလည်သဘောပေါက်ခြင်းနှင့်အသုံးချခြင်းသည်သင့်အားကျိုးကြောင်းဆီလျော်စွာနှင့်အသိဉာဏ်ရှိသော PHP ကွန်ယက်တောင်းဆိုခြင်းအစီအစဉ်ကိုရေးရန်ကူညီနိုင်သည်။
သို့သော်လုံခြုံရေးအန္တရာယ်များကိုရှောင်ရှားရန်အသုံးပြုသူအမည်နှင့်စကားဝှက်များကိုကိုင်တွယ်ရန်သင်သတိထားရမည်။
<?php
$url = "https://admin:[email protected]/api/data";
$parts = parse_url($url);
$user = $parts['user'] ?? null;
$pass = $parts['pass'] ?? null;
$host = $parts['host'] ?? null;
$path = $parts['path'] ?? '/';
// အသုံးပြု curl တိပ်ခွေ Basic Auth တောင်းပန်ချက်
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://$host$path");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($user && $pass) {
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
}
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
အထက်ဖော်ပြပါကုဒ်သည် URL မှ Username နှင့်စကားဝှက်ကိုမည်သို့ခွဲခြမ်းစိတ်ဖြာရမည်ကိုပြသသည်။ HTTP authentication အတွက်၎င်းကိုအသုံးပြုသည်။