Api (application programming interface) သည်မတူညီသောဆော့ဖ်ဝဲများအကြားအပြန်အလှန်ဆက်သွယ်မှုအတွက် interface တစ်ခုဖြစ်သည်။ API interface မှတစ်ဆင့်လျှောက်လွှာများသည်အခြား 0 န်ဆောင်မှုများသို့မဟုတ် module များ၏လုပ်ဆောင်ချက်များကိုရယူနိုင်ပြီးပိုမိုထိရောက်သောအချက်အလက်အပြန်အလှန်အကျိုးပြုမှုရရှိရန်အတွက်အခြား 0 န်ဆောင်မှုများ၏လုပ်ဆောင်မှုများကိုရယူနိုင်သည်။
API interfaces ၏လုံခြုံရေးဆိုင်ရာပြ issues နာများသည် developer များအတွက်အရေးကြီးသောစိန်ခေါ်မှုတစ်ခုဖြစ်သည်။ တိုက်ခိုက်သူသည် API interface မှတစ်ဆင့် spam အချက်အလက်များကိုပေးပို့ခြင်း, အချက်အလက်များကိုကြားဖြတ်ခြင်းနှင့်ထုတ်လွှင့်ခြင်း, ထုတ်လွှင့်ခြင်း, ဤတိုက်ခိုက်မှုများသည် API 0 န်ဆောင်မှုများကိုလျှော့ချရန်သို့မဟုတ်ဒေတာချိုးဖောက်မှုများဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် API interface ၏လုံခြုံရေးကိုသေချာစေရန်အလွန်အရေးကြီးသည်။
ယာဉ်ကြောပိတ်ဆို့မှုသည် API interfaces များကိုအကာအကွယ်ပေးနိုင်သည့်နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည် API interface သို့တောင်းဆိုမှုအရေအတွက်ကိုကန့်သတ်ခြင်းအားဖြင့်အန္တရာယ်ရှိသောတိုက်ခိုက်မှုများကိုရှောင်ရှားနိုင်သည်။ API တောင်းဆိုမှုများ၏ကြိမ်နှုန်းကိုကန့်သတ်ခြင်းအားဖြင့်၎င်းသည် DDoS တိုက်ခိုက်မှုများနှင့် brute-force cracking ကဲ့သို့သောတိုက်ခိုက်မှုများကိုထိရောက်စွာတားဆီးနိုင်သည်။
Laravel Framework အပေါ် အခြေခံ. အသွားအလာကန့်သတ်ချက်အတွက်နမူနာကုဒ်ဖြစ်သည်။
namespace apphtttpcontrolllers;
illuminatehttprequest ကိုသုံးပါ။
Class apicallcontroller ကို Controller ကိုတိုးချဲ့
{
// IP တစ်ခုလျှင်တစ်မိနစ်လျှင်အဆ 20 အထိ API ကိုအဆ 20 အထိအကန့်အသတ်ဖြင့်ကန့်သတ်ပါ
Public function အညွှန်းကိန်း (တောင်းဆိုမှု $ တောင်းဆိုမှု)
{
$ ကန့်သတ် = 20; // $ Expiralinseconds = 60; // ကန့်သတ်ကာလ (စက္ကန့်)
$ တောင်းဆိုမှုများ = app (ratelimiter :: class) -> Limiter (API ') -> Get (API') -> Get ($ တောင်းဆိုမှု -> IP (IP (IP (> IP (API));
လျှင် ($ တောင်းဆိုမှုများ -> ကျန်ရှိနေသေးသော === 0) {
တုံ့ပြန်မှု ('များစွာသောကြိုးစားမှု' 'Reward Report (' 'များလွန်း', 429);
}
အက်ပလီကေးရှင်း (ratherimiter :: Class) -> Limiter (API ') -> Hit (ဒေါ်လာတောင်းခံခြင်း -> IP (IP (IP (), $ Expiralinseconds);
// api ယုတ္တိဗေဒ execute}
}
အထက်ပါကုဒ်သည် API interface ကိုတစ်မိနစ်လျှင်အဆ 20 အထိ 0 င်ရောက်ရန် IP လိပ်စာတစ်ခုစီကိုကန့်သတ်ထားသည်။ အကယ်. ကန့်သတ်ချက်ကိုကျော်လွန်ပါက http 429 status status ကိုကုဒ်နံပါတ်ပြန်ပို့ပါမည်။
Firewalls များသည်များသောအားဖြင့်အသုံးပြုသောလုံခြုံရေးကာကွယ်မှုနည်းလမ်းဖြစ်သည်။ ၎င်းတို့သည်အန္တရာယ်ရှိသောတောင်းဆိုမှုများကိုစစ်ထုတ်ကာ SQL Injection နှင့် XSS တိုက်ခိုက်မှုများကဲ့သို့သောလုံခြုံရေးအားနည်းချက်များကိုထုတ်ဖော်ပြောဆိုနိုင်သည်။ API interfaces ၏အကာအကွယ်တွင် Firewall သည်ခွင့်ပြုချက်မရှိဘဲ IP 0 င်ရောက်မှုကိုထိရောက်စွာပိတ်ဆို့နိုင်ပြီး API ၏လုံခြုံရေးကိုတိုးတက်စေနိုင်သည်။
PHP အကောင်အထည်ဖော်မှုအပေါ် အခြေခံ. ရိုးရှင်းသော firewall ၏ဥပမာတစ်ခုမှာ -
$ toil_ips = array ('192.168.0.1),' 192.168.0.2 ''; // IP စာရင်းကို $ Relal_Request = false;
foreach ($ ယာကီခွင့်ပြုရန် $ ခွင့်ပြုသည်) {
$ IP = htmlspecialchars ($ _ server ['remote_addr'));
အကယ်. ($ IP == $ ခွင့်ပြုရန်) {
$ Regrom_Request = စစ်မှန်တဲ့;
ချိုး;
}
}
လျှင် (! $ RECRERY_REQUENT) {
Header ('http / 1.03 403);
ထွက်ပေါက်();
}
// API ယုတ္တိဗေဒ executeဤဥပမာတွင် Whitelist ရှိ IP လိပ်စာများသာ API intervantes ကို 0 င်ရောက်နိုင်ပြီးအခြား IP လိပ်စာများကိုငြင်းပယ်လိမ့်မည်။
API interface ကိုကာကွယ်ခြင်းသည်အန္တရာယ်ရှိသောတိုက်ခိုက်မှုများမှကာကွယ်ခြင်းသည်အလွန်အရေးကြီးသည်။ အသွားအလာအကန့်အသတ်နှင့် firewalls များသည်ဘုံကာကွယ်စောင့်ရှောက်ရေးအစီအမံများဖြစ်သည်။ တောင်းဆိုမှုအကြိမ်ရေကိုကြိမ်နှုန်းနှင့် filtering IP address များကိုကန့်သတ်ခြင်းအားဖြင့် API interface ၏လုံခြုံရေးကိုထိထိရောက်ရောက်တိုးတက်စေနိုင်သည်။ ထို့အပြင် developer များသည် API interface ၏လုံခြုံရေးကိုပုံမှန်အကာအကွယ်ပေးနိုင်ရန်အမြဲတမ်းအကာအကွယ်ပေးရန်သေချာစေရန်အတွက်ပုံမှန်မွမ်းမံရန်လိုအပ်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
API