လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> parse_url မှတဆင့်ခုန်လင့်များ၏အရင်းအမြစ်ကိုရှာဖွေနည်း

parse_url မှတဆင့်ခုန်လင့်များ၏အရင်းအမြစ်ကိုရှာဖွေနည်း

gitbox 2025-05-20

ဤခုန်ရင်းအရင်းအမြစ်သည်များသောအားဖြင့် HTTP တောင်းဆိုမှုခေါင်းစဉ်၏ ဖိုရမ်တစ်ခု ကိုဖြတ်သန်းလေ့ရှိပြီးအသုံးပြုသူသည်လက်ရှိစာမျက်နှာကိုမကြည့်မီအသုံးပြုသူသည် Page URL ပါရှိသည်။ ဥပမာအားဖြင့်အသုံးပြုသူတစ် ဦး ဝက်ဘ်ဆိုက်မှ 0 က်ဘ်ဆိုက်မှ 0 က်ဘ်ဆိုက်မှ 0 က်ဘ်ဆိုက်မှ Link တစ်ခုနှိပ်သောအခါဝက်ဘ်ဆိုက် B ၏ဆာဗာဘက်မှ 0 က်ဘ်ဆိုက်၏ URL ကို $ _server [http_referer ' ကိုဖတ်နိုင်သည်။

သို့သော်မှတ်သားရန်အရေးကြီးသည် -

  • Defer သည် သေချာပေါက်မပို့ပါ, အချို့ browser (browser) အချို့ကိုပိတ်ထားနိုင်သည်။

  • ရည်ညွှန်းသူ ကိုအတုယူနိုင်ပြီးလုံးဝမယုံကြည်နိုင်ပါ။

2 ။ PHP ၏ Parse_url function ကိုမိတ်ဆက်ခြင်း

Parse_url function ကို Scheme (protocol), host (domain name), လမ်းကြောင်း (လမ်းကြောင်း) စသည့် URL များကိုအကာအကွယ်ပေးနိုင်သည်။

 $url = "https://gitbox.net/path/to/page?query=123";
$parsed = parse_url($url);
print_r($parsed);

ထုတ်လုပ်မှု -

 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /path/to/page
    [query] => query=123
)

3 ။ Jump Source Detecting ကိုအကောင်အထည်ဖော်ရန်အတွက်နမူနာကုဒ်

အောက်ပါဥပမာသည် PHP ကိုမည်သို့အသုံးပြုရမည်ကို Jump Source ကို ရှာဖွေရန် နှင့်သတ်မှတ်ထားသော domain namet (ဥပမာ Gitbox.net ) မှရမသင့်ဆုံးဖြတ်ရန်

 <?php
// ရယူ HTTP_REFERER
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

if (empty($referer)) {
    echo "အရင်းအမြစ်သတင်းအချက်အလက်မရှိပါ,တိုက်ရိုက်ဝင်ရောက်ခွင့်သို့မဟုတ် browser ကိုပိတ်ထားနိုင်သည် Referer。";
    exit;
}

// အရင်းအမြစ်ကိုခွဲခြမ်းစိတ်ဖြာ URL
$parsedUrl = parse_url($referer);

// ၎င်းတွင်ရှိမရှိဆုံးဖြတ်ရန် host
if (!isset($parsedUrl['host'])) {
    echo "အရင်းအမြစ် URL မမှန်ကန်သောပုံစံ。";
    exit;
}

// 指定允许的အရင်းအမြစ်域名
$allowedDomains = ['gitbox.net'];

// 判断အရင်းအမြစ်是否在允许列表中
if (in_array($parsedUrl['host'], $allowedDomains)) {
    echo "访问အရင်းအမြစ်于可信域名:" . htmlspecialchars($parsedUrl['host']);
    // ဒီမှာသင်နောက်ဆက်တွဲယုတ္တိအပြောင်းအလဲနဲ့လုပ်နိုင်ပါတယ်,ဝင်ရောက်ခွင့်သို့မဟုတ်သစ်ထုတ်လုပ်ခွင့်ပြုလျှင်
} else {
    echo "访问အရင်းအမြစ်不可信,အရင်းအမြစ်域名:" . htmlspecialchars($parsedUrl['host']);
    // ခုန်များအတွက်အသုံးပြုနိုင်ပါသည်、access ကိုငြင်းပယ်
}
?>

4 ။ ဖြည့်စွက်မှတ်စုများ

  • ဘေးကင်းရေးထည့်သွင်းစဉ်းစား လုံခြုံရေးဆိုင်ရာတရားစီရင်ချက်အတွက် ရည်ညွှန်းသူ အပေါ်သင်လုံးဝလုံးဝမှီခို။ မရပါ။ အခြားနည်းလမ်းများနှင့်ပူးပေါင်းဆောင်ရွက်ရန်လိုသည်, ဥပမာအားဖြင့် login verification,

  • Multi-domain name support
    $ The $ DourDomains array သည်ဒိုမိန်းအမည်များကိုပေါင်းထည့်ပြီးယုံကြည်ရသောရင်းမြစ်များစွာကိုအထောက်အကူပြုနိုင်သည်။

  • စွမ်းဆောင်ရည်အကောင်းမြင်
    Parse_Url သည်စွမ်းဆောင်ရည်နိမ့်ကျခြင်း, စွမ်းဆောင်ရည်နိမ့်ခြင်းနှင့်အဆင့်မြင့်ခေါ်ဆိုမှုများအတွက်သင့်တော်သည်။

5 ။ အကျဉ်းချုပ်

PHP ၏ Parse_Url function ကို အသုံးပြု. ခုန်ချိတ်ဆက်မှု၏အရင်းအမြစ် URL ကိုအလွယ်တကူခွဲခြမ်းစိတ်ဖြာနိုင်ပြီးခုန်ရင်းအရင်းအမြစ်ကိုရှာဖွေတွေ့ရှိခြင်းနှင့်စစ်ထုတ်ခြင်းများကိုနားလည်သဘောပေါက်နိုင်သည်။ developer များက HTTP တောင်းဆိုမှုခေါင်းစဉ်ရှိ ရည်ညွှန်းသူ နှင့်ပေါင်းစပ်ထားသော developer များက Access Permissions နှင့် User အပြုအမူခွဲခြမ်းစိတ်ဖြာခြင်းကိုပိုမိုလွယ်ကူစွာစီမံနိုင်သည်။
အမှန်တကယ်စီမံကိန်းများတွင် 0 က်ဘ်ဆိုက်လုံခြုံရေးနှင့်အသုံးပြုသူအတွေ့အကြုံများကိုတိုးတက်စေရန်စီးပွားရေးလုပ်ငန်းများအပေါ် အခြေခံ. ရင်းမြစ်များအပေါ်အ Granular တရားစီရင်ခြင်းကိုလည်းပြုလုပ်နိုင်သည်။