Мазмұнға өту

API қауіпсіздігі

OTP rate limits және теріс пайдаланудан қорғау

Лимиттер кодты іріктеу мен жаппай жіберуді тоқтатуы керек, бірақ бір IP қолданатын немесе кодты қате енгізген нақты пайдаланушыларды бұғаттамауы тиіс.

Қысқа жауап

OTP үшін тек IP лимиті жеткіліксіз. Send және verify сұрауларын phone, аккаунт, IP, API кілті және purpose бойынша бөлек шектеңіз; 429 кейін бірден қайталамай, кідіріс қолданыңыз.

Қысқаша

Send және verify үшін бөлек ереже қолданыңыз, бірнеше белгіні біріктіріңіз және шексіз retry орнына басқарылатын 429 қайтарыңыз.

Негізгі

  • Send және verify үшін бөлек лимит қажет.
  • Бір IP артында көп заңды пайдаланушы болуы мүмкін.
  • Resend серверлік cooldown арқылы қорғалуы керек.
  • Клиент 429 кейін тоқтап, backoff қолдануы тиіс.
  • Лимит өсімі мониторинг пен алертке түсуі керек.

Лимиттер қандай қауіптерді шешеді

OTP-да екі негізгі теріс пайдалану түрі бар. Жаппай send баланс жұмсайды, қажетсіз хабарлама жасайды және қолдау жүктемесін арттырады. Көп verify сұрауы жарамды алты цифрлық кодты іріктеуге тырысады.

Екеуіне бір ортақ шек дұрыс жұмыс істемейді. Жіберу арасында елеулі cooldown қажет, ал тексеру бірнеше адамдық қатеге мүмкіндік беріп, автоматты іріктеуді тез тоқтатуы керек.

Send лимиттері

Серверлік resend cooldown — негізгі қорғаныс. Фронтенд таймері UX-ті жақсартады, бірақ API-ді қорғамайды, өйткені интерфейсті айналып өтуге болады.

Санауыштарды бірге қолданыңыз:

  • телефон нөмірі;
  • аккаунт немесе сессия;
  • IP және қажет болса ішкі желі;
  • API кілті немесе компания;
  • растау purpose мәні;
  • қысқа және ұзақ уақыт терезесіндегі жалпы көлем.

Қысқа терезе күрт өсімді, ұзақ терезе баяу жаппай теріс пайдалануды анықтайды. Шектерді басқа сервистен көшірмей, өнім тәуекелі мен нақты трафикке сай таңдаңыз.

Verify лимиттері

Алты цифрлық код комбинациялары шектеулі. Әр әрекетті phone, белсенді challenge және purpose мәніне байланыстырыңыз. Қайталанған қатеден кейін кідірісті арттырыңыз немесе challenge-ті жабыңыз.

Бес минуттық TTL ішінде шексіз тексеруге жол бермеңіз. TTL уақытты шектейді, бірақ сол уақыт ішіндегі әрекет санын шектемейді.

Сәтті тексерілген код дереу жарамсыз болып, әрекетті екінші рет растамауы керек.

Неге тек IP жеткіліксіз

Кеңсе, мобильді желі немесе NAT көптеген пайдаланушыны бір сыртқы IP артына жинайды. Тек мекенжайға қойылған қатаң лимит жалған бұғаттау жасайды, ал шабуылдаушы трафикті бірнеше адреске бөле алады.

IP phone, аккаунт, кілт және мінез-құлық белгілерімен бірге пайдалы сигнал болады.

429 жауабын өңдеу

HTTP 429 Too Many Requests жедел қайталауға болмайтынын білдіреді. Клиент циклді тоқтатып, request ID сақтап, таймер көрсетіп, рұқсат етілген уақытты күтіп, тек шектеулі рет қайталауы керек.

Уақытша 5xx үшін жоғарғы шегі және шағын jitter бар экспоненциалды backoff қолданыңыз. 401 немесе көп 422 жауабын сұрауды өзгертпей қайталау пайдасыз.

Қауіпсіз интерфейс

Cooldown аяқталғанға дейін resend батырмасын өшіріңіз. Параллель сұрауларға жол бермеңіз және сервер жауабына дейін таймерді өзгертпеңіз.

Қате мәтіні аккаунттың бар-жоғын ашпауы керек. Пайдаланушыға қайта көруге болатын уақытты айтыңыз, бірақ ішкі қорғаныс шектерін жарияламаңыз.

Мониторинг

Send және verify көлемін, 429, 422, 401 үлесін, күмәнді нөмірлер мен кілттерді, verify-сыз жұмсалған кредиттерді, resend жиілігін және желі бойынша жүктемені бақылаңыз.

Алерт нақты әрекетке әкелуі керек: кілтті уақытша шектеу, компаниямен байланысу, құпияның ашылуын тексеру немесе тым қатаң шекті түзету.

Іске асыру чеклисті

  • Send және verify тәуелсіз ережелерге ие.
  • Cooldown серверде тексеріледі.
  • Санауыштар phone, аккаунт, IP, кілт және purpose біріктіреді.
  • TTL ішінде verify әрекеттері шектелген.
  • Сәтті код қайта қолданылмайды.
  • 429 жедел retry жасамайды.
  • 5xx шектеулі backoff арқылы өңделеді.
  • Интерфейс ішкі шектерді ашпай таймер көрсетеді.
  • Күмәнді трафик пен баланс шығыны алертке түседі.

Rate limits анықтамасын, API қателерін және толық OTP қауіпсіздігі нұсқаулығын қараңыз.

FAQ

Неге OTP-ны тек IP бойынша шектеуге болмайды?
Кеңсе, мобильді желі және NAT бір IP артында көп нақты пайдаланушыны ұстайды, ал шабуылдаушы мекенжайларын ауыстыра алады.
HTTP 429 кейін не істеу керек?
Жедел қайталауды тоқтатып, таймер көрсетіп, рұқсат етілген кідірістен кейін ғана қайталау керек.
Verify үшін бөлек лимит керек пе?
Иә. Алты цифрлық кодты іріктеу мен жаппай хабарлама жіберу — бөлек қауіптер.