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 ၏လုံခြုံရေးကိုပုံမှန်အကာအကွယ်ပေးနိုင်ရန်အမြဲတမ်းအကာအကွယ်ပေးရန်သေချာစေရန်အတွက်ပုံမှန်မွမ်းမံရန်လိုအပ်သည်။