PHP တွင်ဒိုမိန်းအမည်သည်မှန်ကန်သောပုံစံနှင့်ကိုက်ညီကြောင်းအတည်ပြုရန်မှာဘုံလိုအပ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်နည်းလမ်းနှစ်မျိုးဖြင့်ကျွန်ုပ်တို့အတည်ပြုနိုင်သည်။ တစ်ခုမှာ format survification အတွက်ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုရန်ဖြစ်သည်။ နောက်တစ်ခုမှာ PHP ၏ built-in checkdnsrr function မှတဆင့်ဒိုမိန်းအမည်ရှိ, ဤဆောင်းပါးသည်ဤနည်းလမ်းနှစ်ခုကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီးဒိုမိန်းအမည်များကိုထိရောက်စွာစစ်ဆေးရန်သူတို့ကိုမည်သို့ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပုံမှန်အသုံးအနှုန်းများသည် strings များသည်သတ်မှတ်ထားသောပုံစံများနှင့်ကိုက်ညီကြောင်းလျင်မြန်စွာအတည်ပြုနိုင်သည့်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဒိုမိန်းအမည်ပုံစံကိုအတည်ပြုသည့်အခါအောက်ပါ key များကိုထည့်သွင်းစဉ်းစားရန်လိုအပ်သည်။
ဒိုမိန်းအမည်တွင်အက္ခရာများ, နံပါတ်များ, နံပါတ်များ, အလျားလိုက်မျဉ်းများနှင့်အချက်များပါဝင်သည် ( ။ ) ။
တံဆိပ်တစ်ခုစီ (အစက်များဖြင့်ခွဲထုတ်သည်) တွင်အနည်းဆုံးစာလုံးတစ်လုံးသို့မဟုတ်နံပါတ်တစ်ခုပါ 0 င်ပြီးအတိုချုပ်အလျားလိုက်မျဉ်းကြောင်းနှင့်မကိုက်ညီပါ။
စုစုပေါင်းအရှည်သည်စာလုံးရေ 253 လုံးထက်မပိုစေရ။
ဤတွင် Domain Name ပုံစံကိုအတည်ပြုရန်ပုံမှန်စကားရပ်တစ်ခု၏ဥပမာတစ်ခုမှာ -
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">validate_domain_format</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$domain</span></span></span><span>) {
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/^(?!-)[A-Za-z0-9-]{1,63}(?<!-)\.(?!-)[A-Za-z0-9-]{1,63}(?<!-)$/'</span></span><span>;
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$domain</span></span><span>);
}
</span></span>
^ (?! -!) - ဒိုမိန်းအမည်ကို အလျားလိုက် မျဉ်းကြောင်းနှင့်မစပါနှင့်။
[a-za-z0-9 -] {A-Za-Z0-9 -] {1,63} : ဒိုမိန်းအမည် (တံဆိပ်အမည်) တစ်ခုစီတွင်အက္ခရာများ, နံပါတ်များနှင့်အလျားလိုက်မျဉ်းများပါ 0 င်နိုင်သည်။ စာလုံးရေ 1 မှ 63 လုံးအထိရှိသည်။
(? <! -) : ဒိုမိန်းအမည်ကို အလျားလိုက် မျဉ်းကြောင်းနှင့်အတူအဆုံးသတ်မထားကြောင်းသေချာပါစေ။
\ ။ : Match Point ( ။ ) ဇာတ်ကောင်။
ဤပုံမှန်အသုံးအနှုန်းသည်ဒိုမိန်းအမည်၏အစိတ်အပိုင်းတစ်ခုစီ၏တရားဝင်မှုနှင့်ပုံစံချခြင်းတို့ကိုသေချာစေသည်။
ပုံမှန်အသုံးအနှုန်းများသည် domain name format ကိုမှန်ကန်မှုကိုမှန်ကန်ကြောင်းအတည်ပြုနိုင်သော်လည်းဒိုမိန်းအမည်ကိုအမှန်တကယ်တည်ရှိသည်ကိုအတည်မပြုနိုင်ပါ။ ဒိုမိန်းအမည်သည်မှန်ကန်ကြောင်းသေချာစေရန် PHP ၏ built-in checkdnsrr function ကိုသုံးနိုင်သည်။ အကယ်. မှန်ကန်သော DNS မှတ်တမ်းရှိပါက domain name သည်တည်ရှိပြီးလက်လှမ်းမီကြောင်းဆိုလိုသည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">check_domain_exists</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$domain</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">checkdnsrr</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>, </span><span><span class="hljs-string">"A"</span></span><span>); </span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု A စံချိန်,ဆိုလိုသည်မှာဒိုမိန်းအမည်ကိုတရားဝင်သည်ရှိမရှိကိုဆိုလိုသည်</span></span><span>
}
</span></span>
Checkdnsrr ($ ဒိုမိန်း, "A")) - ဒီ function ကဒိုမိန်းအမည်နဲ့သက်ဆိုင်တဲ့ IP address ကိုရှိမရှိမှတ်တမ်းတစ်ခုရှိမရှိစစ်ဆေးလိမ့်မယ်။ သို့ဆိုလျှင် မှန်မှန်ကန်ကန် ပြန်လာပါ, ဒိုမိန်းအမည်သည်မှန်ကန်ကြောင်းညွှန်ပြပါ။
Domain Name တွင်စာနယ်ဇင်းများတွင်စာစောင်များတွင်မှတ်တမ်းများရှိပါသလား, သို့မဟုတ် DNS Record အမျိုးအစားများရှိမဆိုစစ်ဆေးရန် မည်သည့် parameter ကိုမဆိုသုံးရန် MX Parameter ကိုသုံးနိုင်သည်။
ဒိုမိန်းအမည်၏ပုံစံနှင့်တည်ရှိမှုကိုတစ်ချိန်တည်းတွင်အတည်ပြုရန်ကျွန်ုပ်တို့သည်ပုံမှန်အသုံးအနှုန်းများနှင့် checkdnsrr function ကိုပေါင်းစပ်နိုင်သည်။ အောက်ပါကုဒ်သည်ဤပူးတွဲစစ်ဆေးမှုကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">validate_domain</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$domain</span></span></span><span>) {
</span><span><span class="hljs-comment">// domain name format ကိုပထမ ဦး ဆုံးအတည်ပြုပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">validate_domain_format</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"မမှန်ကန်သောဒိုမိန်းအမည်ပုံစံ"</span></span><span>;
}
</span><span><span class="hljs-comment">// 然后စစ်ဆေးကြည့်ရှု域名是否存在</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">check_domain_exists</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>)) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"ဒိုမိန်းအမည်မရှိပါ"</span></span><span>;
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-string">"ဒိုမိန်းအမည်ကိုမှန်ကန်ပြီးတည်ရှိသည်"</span></span><span>;
}
</span></span>
<span><span><span class="hljs-variable">$domain</span></span><span> = </span><span><span class="hljs-string">"example.com"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">validate_domain</span></span><span>(</span><span><span class="hljs-variable">$domain</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$result</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "ဒိုမိန်းအမည်ကိုမှန်ကန်ပြီးတည်ရှိသည်"</span></span><span>
</span></span>
အပြည်ပြည်ဆိုင်ရာဒိုမိန်းအမည် (IDN) - သင်၏လျှောက်လွှာသည်အပြည်ပြည်ဆိုင်ရာဒိုမိန်းအမည်များ ပါ 0 င်သောအပြည်ပြည်ဆိုင်ရာဒိုမိန်းအမည်များပါ 0 င်သောဒိုမိန်းအမည်များ,
ဒိုမိန်းအမည်အရှည်အကန့်အသတ် - စံသတ်မှတ်ချက်အရဒိုမိန်းအမည်ပမာဏသည်အက်ခရာ 253 လုံးထက်မပိုစေရ။ အသုံးပြုသူမှထည့်သွင်းထားသောဒိုမိန်းအမည်သည်ဤအရှည်ထက်ကျော်လွန်ပါကနောက်ထပ်စစ်ဆေးမှုများလိုအပ်သည်။
အမှားကိုင်တွယ်ခြင်း - checkdnsrr function ကိုခေါ်ဆိုသောအခါ DNS Resolution အမှားများကိုသင်ကြုံတွေ့ရနိုင်သည် ။
ပုံမှန်အသုံးအနှုန်းများနှင့် checkdnsrr functions များကိုပေါင်းစပ်ခြင်းဖြင့် PHP developer များသည်ဒိုမိန်းအမည်များပုံစံနှင့်တည်ရှိမှုကိုထိထိရောက်ရောက်စစ်ဆေးနိုင်သည်။ ပုံမှန်အသုံးအနှုန်းများသည် Domain Name ပုံစံသည်စံနှုန်းများနှင့်ကိုက်ညီကြောင်းသေချာသည် ။ ဤ two-factor အတည်ပြုသည့်နည်းလမ်းသည်ဒိုမိန်းအမည်ကိုအတည်ပြုခြင်း၏တိကျမှန်ကန်မှုနှင့်ယုံကြည်စိတ်ချရမှုများကိုများစွာတိုးတက်ကောင်းမွန်စေသည်။