מפתחים

קוד אימות ב-SMS: לבנות לבד או להשתמש באימות מובנה?

28 באוקטובר 2026·6 דק' קריאה·מאת ניצן סויסה

אם אתה צריך לאמת מספר טלפון בהרשמה או בכניסה, ואין לך דרישה מיוחדת לנוסח ההודעה או לערוץ, האימות המובנה הוא הבחירה הנכונה: שתי קריאות API, אותו מחיר להודעה, וכל הלוגיקה מחוץ לקוד שלך. לבנות לבד שווה כשאתה צריך שליטה שהשירות המובנה לא נותן.

על הנייר, קוד אימות זה דבר פשוט: מגרילים שש ספרות, שולחים ב-SMS, משווים למה שהמשתמש הקליד. בפועל, המרחק בין "זה עובד אצלי" לבין מנגנון שאפשר לחשוף לאינטרנט הוא רשימה ארוכה של החלטות. המאמר הזה עובר עליה, ואז משווה בין שתי הדרכים.

מה בונים כשבונים לבד

זה מה שנכנס למנגנון OTP רציני, גם אם הוא נראה כמו פיצ'ר של יום:

  1. יצירת קוד אקראי באמת. מחולל אקראיות קריפטוגרפי, לא Math.random.
  2. אחסון בטוח. שומרים חתימה (hash) של הקוד, לא את הקוד עצמו, כדי שדליפה של בסיס הנתונים לא תדליף קודים פעילים.
  3. תוקף. כמה דקות הקוד חי, ומה קורה כשמשתמש מבקש קוד חדש באמצע.
  4. תקרת ניסיונות. בלי תקרה, קוד בן 6 ספרות נשבר בניחוש.
  5. שליחה חוזרת. כפתור "שלחו לי שוב" עם זמן המתנה, ותקרה על מספר השליחות.
  6. מניעת שליחה כפולה. לחיצה כפולה או רענון דף לא אמורים לשלוח ולחייב פעמיים.
  7. הגבלה לכל מספר. מי שמנסה לשלוח קודים בכמויות למספרים שאינם שלו מייצר לך חשבון SMS, ולפעמים זו כל המטרה שלו.
  8. נוסח ההודעה. הודעה ברורה, משולח מזוהה, שאי אפשר לבלבל עם פישינג.
  9. מעקב מסירה. כשמשתמש אומר "לא קיבלתי קוד", צריך לדעת אם ההודעה יצאה ואם נמסרה.
  10. יומן ובקרה. כמה אימותים התחילו, כמה הסתיימו, ואיפה משתמשים נתקעים.

אף סעיף כאן לא קשה לבד. הבעיה היא שכולם צריכים להיות נכונים יחד, והם נשארים באחריותך גם אחרי ההשקה: כל באג באחד מהם הוא באג אבטחה.

איך בונים את כל זה נכון, עם קוד מלא וצ'ק-ליסט: המדריך המלא לבניית אימות ב-SMS.

מה האימות המובנה לוקח ממך

ב-Sendy, אימות (OTP) מצמצם את הרשימה לשתי קריאות. הקריאה הראשונה שולחת קוד בן 6 ספרות מהשולח המאושר שלך ומחזירה מזהה. הקריאה השנייה בודקת את הקוד שהמשתמש הקליד ומחזירה אחת מארבע תשובות: אומת, שגוי, ננעל או פג תוקף.

כל השאר קורה אצל Sendy:

  • הקוד נוצר שם, ונשמרת רק חתימה שלו. בצד שלך נשמר רק מזהה האימות.
  • תוקף של 10 דקות, נעילה אחרי 5 ניסיונות שגויים, שליחה חוזרת אחרי 60 שניות ועד 3 שליחות.
  • לחיצה כפולה או רענון דף רגע אחרי השליחה מחזירים את אותו אימות, בלי קוד שני ובלי חיוב שני.
  • מגבלות לכל מספר נגד ניצול.
  • נוסח קבוע: "קוד האימות שלך ל-{השולח} הוא 482913". הודעה שיש בה רק קוד, משולח שזהותו נבדקה, היא הודעת שירות ולא פרסומת.
  • סטטוס מסירה לכל קוד, ויומן אימותים במערכת עם ציר זמן לכל אימות.

השוואה

לבנות לבדאימות מובנה
מה כותבים בקודיצירה, אחסון, תוקף, ניסיונות, שליחה חוזרת, הגבלותשתי קריאות API
מחירקרדיט לכל הודעהקרדיט לכל קוד, הבדיקה חינם
נוסח ההודעהחופשיקבוע
ערוציםמה שתבנהSMS בלבד
מספריםלפי הספק שלךניידים ישראליים
אחריות על הקוד: יצירה, אחסון, ספירהשלךשל Sendy
תחזוקהשלך, לאורך זמןאין
מעקב ויומןמה שתבנהמובנה במערכת

מה זה עולה בכל דרך

ב-Sendy המחיר להודעה זהה בשתי הדרכים: קרדיט אחד. כשבונים לבד, קוד אימות הוא הודעה רגילה של קרדיט אחד. באימות המובנה, כל קוד שנשלח הוא קרדיט אחד, שליחה חוזרת היא עוד קרדיט, ובדיקת הקוד תמיד חינם. אין מנוי ואין תוכנית נפרדת, זו אותה יתרה של כל השליחות.

ההבדל האמיתי בעלות הוא לא ב-SMS, הוא בזמן. כל סעיף ברשימה למעלה הוא שעות פיתוח, בדיקות ותחזוקה. כשמשווים לשירותי אימות אחרים, כדאי לבדוק אם הם גובים גם על האימות עצמו, מעבר להודעה.

מתי לבנות לבד עדיין נכון

יש מקרים שבהם השירות המובנה פשוט לא מתאים, וזה בסדר:

  • אתה צריך נוסח משלך. למשל קוד שמשולב בהודעה ארוכה יותר, או ניסוח של המותג.
  • אתה צריך ערוץ נוסף לצד SMS, כמו מייל או אפליקציה, עם לוגיקה אחת לכולם.
  • הקוד הוא לא אימות טלפון. קוד איסוף שמודפס על קבלה, קוד הנחה, או קוד שנמסר לאדם אחר.
  • אתה מאמת מספרים מחוץ לישראל. האימות המובנה עובד רק עם ניידים ישראליים.
  • כבר יש לך מנגנון עובד ובדוק. אין סיבה להחליף אותו רק כי יש אפשרות אחרת.

במקרים האלה שולחים את הקוד שאתה מייצר ב-POST /v1/messages במצב תפעולי, ומקבלים חיווי מסירה לכל הודעה. מדריך קצר לקריאה עצמה: שליחת קוד אימות ב-SMS.

מתי להשתמש באימות המובנה

כמעט בכל מקרה אחר: הרשמה, כניסה בלי סיסמה, אישור פעולה רגישה או אימות מספר לפני שהוא נכנס לרשימה. במיוחד אם אין לך מפתח שיתחזק את המנגנון לאורך זמן, או אם אתה בונה עם סוכן AI: ל-Sendy יש שני כלי MCP, start_verification ו-check_verification, כך שסוכן יכול לשלוח ולבדוק קודים ישירות.

אפשר לראות את כל התהליך לפני שכותבים שורת קוד. בתוך Sendy, במסך אימות (OTP), יש מגרש ניסוי ששולח קוד אמיתי למספר המאומת שלך, בעלות של קרדיט אחד.

שאלות נפוצות

האם אימות מובנה בטוח יותר מאימות שבונים לבד? לא בהכרח. מנגנון שבנית נכון יכול להיות בטוח באותה מידה. ההבדל הוא שבאימות המובנה כל ההחלטות כבר התקבלו ונבדקו, ואין לך קוד אבטחה לתחזק.

אפשר לשנות את נוסח ההודעה באימות המובנה? לא. הנוסח קבוע לכל הלקוחות, וזה חלק ממה שהופך את ההודעה להודעת שירות. מי שצריך נוסח משלו בונה לבד.

האימות המובנה יקר יותר? לא. קרדיט אחד לכל קוד שנשלח, כמו הודעה רגילה, והבדיקה חינם.

אפשר להתחיל לבד ולעבור לאימות המובנה אחר כך? כן. המסכים נשארים כמעט אותו דבר: שדה מספר, שדה קוד וכפתור שליחה חוזרת. מה שמשתנה הוא הצד של השרת, ונוסח ההודעה.

האימות המובנה שולח גם בוואטסאפ או במייל? לא, רק ב-SMS. מי שצריך כמה ערוצים בונה לבד, ויכול לשלוח את חלק ה-SMS דרך Sendy.


רוצה לראות איך זה עובד? המדריך לאימות (OTP) עובר על שתי הקריאות עם דוגמאות קוד. 30 ההודעות הראשונות חינם, בלי כרטיס אשראי.

רוצים לראות את זה בפעולה?

30 הודעות חינם בפתיחת חשבון עסקי. בלי כרטיס אשראי, בלי התחייבות.

התחילו בחינם
→ חזרה לבלוג

אתר זה עושה שימוש בעוגיות (Cookies) ובכלים טכנולוגיים נוספים כדי לשפר את חוויית המשתמש, לנתח תנועה ולהתאים פרסומות. המשך הגלישה באתר מהווה את הסכמתך לכך ולמדיניות הפרטיות שלנו.