Лимиттер қандай қауіптерді шешеді
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 қауіпсіздігі нұсқаулығын қараңыз.