0 ဘ်ဆိုဒ်များဖွံ့ဖြိုးတိုးတက်ရေးလုပ်ငန်းစဉ်အတွင်းသင်၏စာမျက်နှာများကိုအသုံးပြုသူများသည်သင်၏စာမျက်နှာများကိုမည်သည့်နေရာတွင်ဝင်ရောက်ကြည့်ရှုရန်အလွန်အရေးကြီးသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ အထူးသဖြင့်စာရင်းအင်းများ, PHP သည်ပရိုတိုကော, အိမ်ရှင်, လမ်းကြောင်း, query query parameters များစသည့် URL မှအစိတ်အပိုင်းများကိုအလွယ်တကူထုတ်ယူနိုင်သည့် complet-in function parse_url ကို ထောက်ပံ့ ပေးနိုင်သည်။
Parse_url သည် PHP တွင် URLs ကိုခွဲခြမ်းစိတ်ဖြာရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
parse_url(string $url, int $component = -1): array|string|false
$ URL သည်ခွဲခြမ်းစိတ်ဖြာရန် URL string ကိုဖြစ်သည်။
$ အစိတ်အပိုင်းသည် URL ၏အချို့သောအစိတ်အပိုင်းတစ်ခုသာပြန်လာသော ( php_url_url_path , စသည်တို့) ဟုသတ်မှတ်သည့် optional parameter တစ်ခုဖြစ်သည်။
Return Value သည် URL ၏အစိတ်အပိုင်းများကိုပါ 0 င်သည့်နေရာတစ်ခုဖြစ်သည်။ အကယ်. $ အစိတ်အပိုင်းကို သတ်မှတ်လျှင်သက်ဆိုင်ရာအပိုင်း၏ string ကိုပြန်ပို့သည်။ URL သည်မမှန်ကန်ပါက မှားယွင်းသော တုံ့ပြန်မှု။
အသုံးပြုသူအရင်းအမြစ်လိပ်စာကိုယေဘူယျအားဖြင့် $ _server ['http_referer'] variable ကိုသိမ်းထားသည်။ အဲဒါကနေတဆင့်အသုံးပြုသူကဘယ်ကလဲဆိုတာကိုသိနိုင်တယ်။
$referer = $_SERVER['HTTP_REFERER'] ?? '';
ထို့နောက်လိပ်စာကိုခွဲခြမ်းစိတ်ဖြာရန် Parse_URL ကို အသုံးပြုသည်။
if (!empty($referer)) {
$urlParts = parse_url($referer);
print_r($urlParts);
}
အသုံးပြုသူသည် https://gitbox.net/products/view အမှာစကားပြောချက်မှခုန်ချပါက output သည်အလွန်ဆင်တူလိမ့်မည် -
Array
(
[scheme] => https
[host] => gitbox.net
[path] => /products/view
[query] => id=123
)
အရင်းအမြစ် hostname ရရန်၎င်းကိုသင်ဤကဲ့သို့သောရေးနိုင်သည်။
$host = parse_url($referer, PHP_URL_HOST);
echo "အရင်းအမြစ်အိမ်ရှင်:$host";
အသုံးပြုသူမည်သည့်စာမျက်နှာမှမည်သည့်စာမျက်နှာမှမည်သည့်စာမျက်နှာမှမည်သည့်စာမျက်နှာမှမည်သည့်နေရာမှမည်ကိုအသုံးပြုသည်ကိုသင်သိလိုပေမည်။
$path = parse_url($referer, PHP_URL_PATH);
$query = parse_url($referer, PHP_URL_QUERY);
echo "ခေြလမ်း:$path\n";
echo "စုံစမ်းမှုသတ်မှတ်ချက်များ:$query";
သင်လည်းစုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုထပ်မံခွဲထုတ်နိုင်သည်။
parse_str($query, $queryParams);
print_r($queryParams);
output ကိုဖြစ်လိမ့်မည်:
Array
(
[id] => 123
)
အသုံးပြုသူအရင်းအမြစ်လိပ်စာနှင့်ပတ်သက်သောသတင်းအချက်အလက်အားလုံးကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်ပြသရန်အပြည့်အစုံပုံသက်သေဖြစ်သည်။
<?php
$referer = $_SERVER['HTTP_REFERER'] ?? '';
if ($referer) {
echo "မူရင်းဖြစ်သော Referer: $referer\n\n";
$urlParts = parse_url($referer);
echo "ခွဲခြမ်းစိတ်ဖြာပြီးနောက် URL ဆောက်လုပ်ပုံ:\n";
print_r($urlParts);
$host = $urlParts['host'] ?? '';
$path = $urlParts['path'] ?? '';
$query = $urlParts['query'] ?? '';
echo "\nအရင်းအမြစ်အိမ်ရှင်名:$host\n";
echo "来源ခေြလမ်း:$path\n";
echo "စုံစမ်းမှုသတ်မှတ်ချက်များ字符串:$query\n";
parse_str($query, $queryParams);
echo "ခွဲခြမ်းစိတ်ဖြာပြီးနောက်စုံစမ်းမှုသတ်မှတ်ချက်များ:\n";
print_r($queryParams);
} else {
echo "အရင်းအမြစ်သတင်းအချက်အလက်မရှိပါ(Referer မတည်ရှိပါဘူး)";
}
?>
Defer သည်အမြဲတမ်းမတည်ရှိပါ ။ အချို့သော browser (ဘရောက်ဆာ) များသည်ရည်ညွှန်းသူတစ် ဦး အားရည်ညွှန်းသူတစ် ဦး ကိုမပို့နိုင်ပါ။ သို့မဟုတ်အသုံးပြုသူသည် privacy settings များအတွက် feature ကိုပိတ်ထားသည်။
Defer ကိုအတုယူနိုင်သည် - ၎င်းကိုတစ်ခုတည်းသောလုံခြုံရေးအဖြစ်မသုံးပါနှင့်။
Cross-Domain တောင်းဆိုမှုပြ issue နာ - အချို့သော browser များသည်ဒိုမိန်းတောင်းဆိုမှုများတွင်အပြည့်အဝစားသုံးသူကိုအပြည့်အဝမပို့နိုင်ပါ။
AD ခြေရာခံခြင်း - အသုံးပြုသူသည်ကြော်ငြာ link မှခုန်ချခြင်းရှိမရှိဆုံးဖြတ်သည်။
anti-chealt link : Refuder မှဤ site မှမဟုတ်သောသယံဇာတတောင်းဆိုမှုများကိုငြင်းပယ်ရန်။
အသုံးပြုသူအပြုအမူခွဲခြမ်းစိတ်ဖြာမှု
Parse_URL နှင့် $ _server ['http_referer' ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏အရင်းအမြစ်လိပ်စာကိုအလွယ်တကူခွဲခြမ်းစိတ်ဖြာ။ ဝက်ဘ်ဆိုက်လည်ပတ်မှုနှင့်လုံခြုံရေးအတွက်ခိုင်မာသောအထောက်အပံ့များပေးနိုင်သည်။ URLs နှင့်အသုံးပြုသူအချက်အလက်များကိုပြုပြင်သည့်အခါလုံခြုံရေးပြ issues နာများကိုကာကွယ်ရန်အချက်အလက်များကိုစစ်ဆေးခြင်းနှင့်စီစစ်ခြင်းများကိုအမြဲတမ်းထိန်းသိမ်းရန်သတိရပါ။